我想使用class<?> datatype
字段对Java对象进行编组/解组。如果JAXB Context知道Class但它不能存储Java Array类,那么这种方法很有效。
我的对象:
@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
来处理数组的情况。但是有更好的方法吗?
谢谢。