2011-10-07 64 views
3

我編排具有類型集合的字段的對象。實現是未排序的,因此生成的XML元素的順序是任意的,而且每次編組時都會得到不同的順序。JAXB強制排序的集合

有沒有辦法告訴編組如何在編組過程中對字段內容進行排序?

回答

0

您可以利用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; 
    } 

} 
+0

不,這不是我真正想要的。我不希望我的收藏總是被排序,它們是根據其本質排序的。我需要的只是確保XML輸出中元素的順序與同一個集合中的順序相同。 – Vladimir