加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 00:20:20 所属栏目:Java 来源:网络整理
导读:我有一个webservice soap服务,它将带有可选列表的对象作为xml参数: @XmlElement(required = false)private ListString list;public ListString getList() { return list; } 如果客户端没有提供list标签,是否可以告诉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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读