我有一个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
}
有人能告诉我怎么做吗?请。
答案 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。