1

有这个方法:

public Boolean isCorrect() {
    return correct;
}

我不能写:

@XmlType(propOrder = {"id", "description", "correct"})

因为它似乎依赖于访问器方法的命名get..。可以is..代替使用吗?

4

2 回答 2

6

可以按照其他答案中的建议创建类型适配器或更改 JAXB 检索变量以进行编组的方式,但这里的问题是您的Boolean返回类型。

JavaBeans 规范仅允许is<propertyName>在返回类型为原始类型时命名 getter boolean,否则应遵循get<propertyName>.

这:

public Boolean isCorrect() {
    return correct;
}

应改为:

public boolean isCorrect() {
    return correct;
}

或者:

public Boolean getCorrect() {
    return correct;
}

否则,您可能会遇到使用 getter/setter 来发现 POJO 上的变量的库的其他问题。

于 2012-04-09T09:18:20.097 回答
2

您可以@XmlAccessorType(XmlAccessType.FIELD)对您的类使用注释,因此 JAXB 不会关心您的 getter/setter 签名。

于 2012-04-09T09:04:23.600 回答