我正在封送类型为Set的字段的对象。实现是未排序的,因此结果XML元素的顺序是任意的,而且我每次进行封送处理时都会得到不同的顺序。
有没有办法告诉marshaller在封送过程中如何对字段内容进行排序?
发布于 2011-10-11 23:54:32
您可以利用SortedSet。如果您在实例上初始化Set的实例,那么JAXB将使用该实现,而不是创建新的实现:
package forum7686859;
import java.util.Set;
import java.util.TreeSet;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Root {
//private Set<String> children = new HashSet<String>();
private Set<String> children = new TreeSet<String>();
public Set<String> getChildren() {
return children;
}
public void setChildren(Set<String> children) {
this.children = children;
}
}https://stackoverflow.com/questions/7686859
复制相似问题