如何在JAXB?</object>中编组ArrayList <object> []

时间:2011-08-16 19:58:16

标签: java arrays jaxb arraylist

我有一个ArrayList []类型的变量(列表),我想将它保存在XML中。我尝试了JAXB,但它只保存了“”字符串(重复“等于list.length”而没有ArrayLists中的项目。如果我尝试了2d数组它工作正常。如果我尝试了ArrayList,它也可以正常工作。我该如何解决这个问题?

我的代码类似于:

@XmlRootElement
public class SomeClass {

    @XmlElement(name="part")
    private final ArrayList<Object>[] list;

    ... constructor, which fills the list variable

}

有人能告诉我怎么做吗?请。

3 个答案:

答案 0 :(得分:2)

您不应该将泛型类型与数组混合 - 请查看Item 25 in Effective Java。使用2D数组或列表列表。

答案 1 :(得分:2)

感谢您的努力,但我终于找到了解决方案:)。我用另一个类覆盖了一个列表,它工作正常。:

@XmlElement(name="part)
MyClass[] list;

@XmlRootElement
class MyClass {
    @XmlElement(name="item")
    ArrayList<Object> list;    
}

答案 2 :(得分:0)

你真的需要一组列表对象吗?如果没有,你也可以使用两个列表:

Private LinkedList<LinkedList<Object>> parts;

这适用于jaxb。