如果,有如下一个POJO类。
如果没有XML声明,那么在Marshaller转换时肯定会出错,因为它不知道list的类型是什么。
这样,有2个解决办法。
一、给list限定类型
private List<Address> list;
这样,就可以正常运行了,不需要 XML声明。
二、通过XML声明解决,告诉JAXB List中的内容是Address.class
@XmlRootElement
public 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;
}