读书人

JAXB-@XmlElementWrapper注脚和泛型一

发布时间: 2012-10-06 17:34:01 作者: rapoo

JAXB--@XmlElementWrapper注解和泛型一起使用(三)

当java对象的某个属性使用泛型时,普通对象都没问题,但是遇到HashSet这种集合类封装的元素时,就会出现元素内容序列化不出来的问题,详见如下:

?

一、示例:

第一步:定义java对象

?

?

?

?

?

第二步:编组(JAXBContext.newInstance(Customer.class,HashSet.class);方法添加了

HashSet的class对象,以提供给JAXBContext使用。)

?

?

?

注:

1.泛型使用集合元素替代时,泛型属性所对应的xml没有序列化出来。

2.若JAXBContext.newInstance(Customer.class,HashSet.class);不添加HashSet

的class对象,则报错:

[javax.xml.bind.JAXBException: class java.util.HashSet nor any of its super class is known to this context.]

?

解决办法:

第一步:新增HashSet的包装类

?

Book类和Customer类相关代码均不需要改变,新增一个HashSet的包装类,定义如下:

?

?

?

?

读书人网 >XML SOAP

热点推荐