这是我从头开始定义的示例 jaxb 类。当我尝试使用 JAXB 为此类生成架构时,它正确猜测列表的 itemType 为“int”
JVM 不会在运行时丢弃泛型吗?通过这样做,List 的容器类型在运行时会丢失,但 jaxb 仍然知道 itemType 是 Integer。我很好奇 jaxb 框架是如何实现这一点的。有任何想法吗?
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "int-list")
public class IntegerList{
@XmlValue
private List<Integer> values;
public List<Integer> getValues() {
return values;
}
public void setValues(List<Integer> values) {
this.values = values;
}
}
使用 JAXBContext.generateSchema 生成的相应模式:
<xs:simpleType name="int-list">
<xs:list itemType="xs:int"/>
</xs:simpleType>