JAXB 的List 的解析与转换POJO
如果,有如下一个POJO类。
@XmlRootElementpublic class PJaxb { private String name; private String pass; private List list;如果没有XML声明,那么在Marshaller转换时肯定会出错,因为它不知道list的类型是什么。
这样,有2个解决办法。
一、给list限定类型
private List<Address> list;
这样,就可以正常运行了,不需要 XML声明。
二、通过XML声明解决,告诉JAXB List中的内容是Address.class
@XmlElements({ @XmlElement(name="contact",type=Address.class),@XmlElement(name="family",type=Family.class) }) public void setList(List list) { this.list = list; }