在以下代码中使用批注时,我对Jaxb感到惊讶:
@XmlRootElement()
@XmlAccessorType(XmlAccessType.FIELD)
public class Competences {
@XmlElement(name = "lv") private List<Lv> lvs;
public List<Lv> getLvs() {
return null;
}
public void setLvs(List<Lv> lvs) {
this.lvs = lvs;
}
}
我希望取消编组的结果为空,但他已被填充,就好像他直接使用该字段一样(尽管该字段是私有的)。
题
Jaxb如何访问私有属性?
我应该如何让他使用吸气剂/设置剂(同时保持FIELD访问权限)
最佳答案
Jaxb如何访问私有属性?
通过反射。您(大部分时间)可以执行Field.setAccessible(true)
并访问该字段,即使该字段是私有的也是如此。
我应该如何让他使用吸气剂/设置剂(同时保持FIELD访问权限)
这是一个奇怪的问题。 @XmlAccessorType
正是关于指定如何访问映射类的属性的。为什么要指定FIELD
访问权限但实际上使用PROPERTY
访问权限?