使用jaxb将整数转换为int

2024-04-09

我有一个奇怪的情况,类中的 getter 返回一个原始 int 类型,而 setter 接受一个 Integer 类。

当 jaxb 将元素解组到此类时,它无法找到它正在查找的 setter:

public class Foo {
    int bar;

    public int getBar() {
        return this.bar;
    }

    public void setBar(Integer bar) {
        this.bar = bar.intValue();
    }
}

我尝试添加:

@XmlElement ( type = java.lang.Integer.class, name = "bar" ) 

到 getter(和 setter),以更改模式中字段的类型,但这没有帮助。

在解组过程中,我收到此错误:该属性有一个 getter“public int com.example.getBar()”,但没有 setter。对于解组,请定义设置器。

我无法修改该类,例如,我无法将 bar 更改为整数或添加具有原始类型的新设置器,但我可以添加注释。


从手机发帖,请耐心等待! 正如您可能知道的那样,该属性与 javabean 规范不匹配,因此这就是问题所在。您能否使用新名称添加新的 setter/getter 对(两者都使用 Integer),并将 XML 标记放在该新属性上?新方法只会委托给现有方法。华泰

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用jaxb将整数转换为int 的相关文章

随机推荐