gpt4 book ai didi

java - Xstream 在解码时不维护子元素的顺序

转载 作者:行者123 更新时间:2023-12-01 19:08:43 28 4
gpt4 key购买 nike

如何维护 Set 中未编码子对象的顺序。下面是我的xml,当转换为java对象时,我在集合中得到的顺序不是A、B、C。我怎样才能实现这一目标?

<company id="abc">
<emp name="A"/>
<emp name="B"/>
<emp name="C"/>
</company>

编辑:观察结果:

  1. 在我的 Company.class 中,我定义了 Set<Employee>当 xstream 解码它时,它会将集合创建为 HashMap,因此不会维护顺序。问题) 如何在xstream中使用LinkedHashMap来维护顺序?

  2. 然后我将员工集定义为LinkedHashSet<Employee> 。执行此 xstream 创建集作为 LinkedHashMap 并保持顺序,但 Hibernate 会抛出异常,因为我在那里定义了 Set <set name="employees">并且在将 Set 转换为 LinkedHashSet 时会抛出错误

public void setEmployees(Set<Employee> emps){
this.packages = (LinkedHashSet<Employee>)emps;
}

最佳答案

套装未订购。如果您喜欢明确的顺序,请使用列表。这和xstream没有任何关系。

关于java - Xstream 在解码时不维护子元素的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9097017/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com