我有一个webservice soap服务,它将带有可选列表的对象作为xml参数:
@XmlElement(required = false) private List<String> list; public List<String> getList() { return list; }
如果客户端没有提供list标签,是否可以告诉JAXB始终返回/使用空集合而不是空列表?
或者我是否总是必须在服务器端定义一个懒惰的getter以获取永远不会为null的列表(我更喜欢这种情况)?
public List<String> getList() { if (list == null) { list = new ArrayList<String>(); } return list; }@H_502_10@
解决方法
如果您希望XML中没有集合对应于Java对象中的空List,则只需执行以下操作即可.
@XmlElement(required = false) private List<String> list = new ArrayList<String>();
这将编组,就像字段为null一样.使用@XmlElementWrapper批注时,如何编组null和空List只有区别.
> http://blog.bdoughan.com/2012/12/jaxb-representing-null-and-empty.html
@H_502_10@ @H_502_10@ 原文链接:https://www.f2er.com/java/126497.html