gpt4 book ai didi

java - Jaxb 在不使用 getter/setter 的情况下解码,而预期

转载 作者:行者123 更新时间:2023-11-30 06:14:39 25 4
gpt4 key购买 nike

在以下代码中使用注释时,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;
}
}

我希望解码结果为空,但他被填充了,就好像他直接使用该字段一样(尽管该字段是私有(private)的)。

问题

  • Jaxb 如何访问私有(private)属性?
  • 我该如何让他使用 getter/setter(同时保持 Field 访问权限)

最佳答案

How can Jaxb access private attributes ?

通过反射。您(大多数时候)可以执行 Field.setAccessible(true) 并访问该字段,即使该字段是私有(private)的。

How am I supposed make him using getters/setters (while keeping a FIELD access)

这是一个奇怪的问题。 @XmlAccessorType 正是用于指定您希望如何访问映射类的属性。为什么要指定 FIELD 访问权限,但实际上使用 PROPERTY 访问权限?

关于java - Jaxb 在不使用 getter/setter 的情况下解码,而预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49488597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com