我有一个类型为Number的字段。我使用它是因为它可以是Double或Integer。
XML生成似乎很好,它包含该字段的真实类(Double):
<thresholdValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:double">0.2</thresholdValue>
我尝试在课堂上添加一些注释但没有效果:
@XmlRootElement(name = "numericAlarmCfgModel")
@XmlType
@XmlSeeAlso({ Number.class, Double.class, Float.class, Integer.class, Short.class, Long.class })
@XmlAccessorType(XmlAccessType.FIELD)
public class MyNewClass extends MyClass {
private Number thresholdValue;
...}
当Unmarshalling我有这个例外时:
javax.xml.bind.UnmarshalException: Unable to create an instance of java.lang.Number
我正在使用JAXB 2.2.11和Java 7.