我想使用 class<?> datatype
字段对Java对象进行编组/解组 . 如果JAXB上下文已知的类但它不能存储Java数组类,则此方法很有效 .
我的对象:
@XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class MyClass { private Object value; private Class<?> datatype; }
如果我这样做: c.setDatatype(Short.class);
它有效 .
如果我这样做: c.setDatatype(Short[][].class);
它将 <datatype>[[Ljava.lang.Short;</datatype>
存储在XML文件中,但是在解组时数据类型字段为空 .
我将 Short[][].class
添加到JAXBContext中 . 如果我使用XStream,这是有效的 .
我想我可以使用 @XmlJavaTypeAdapter
来处理数组的情况 . 但有更好的方法吗?
谢谢 .