java – JAXB将空列表映射到空集合?

前端之家收集整理的这篇文章主要介绍了java – JAXB将空列表映射到空集合?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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;
}

解决方法

如果您希望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

原文链接:https://www.f2er.com/java/126497.html

猜你在找的Java相关文章