在以下代码中使用批注时,我对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访问权限?

10-05 23:11