我正在尝试编写该类,以便在JAXB中编写具有属性的元素.在这个XML中,有一些默认值,无论它们是字符串,整数还是自定义类类型.
以下减少的例子:
@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement(name = "FIELD")
public class TestLayoutNode
{
// I want to not write this to the xml when it is 0
@XmlAttribute(name = "num")
private int number;
// I want to not write this when it is "default"
@XmlAttribute(name = "str")
private String str;
}
Run Code Online (Sandbox Code Playgroud)
根据JAXB避免保存默认值 我知道如果我不想写String我可以修改getters/setters来写null并读取默认值,如果它读为null.
但是,使用int我不知道该怎么做,因为它总是具有值0,除非它被特别更改.
有没有更好的方法来做到这一点?我可以将内部数据类型更改为String,然后在需要时将其强制转换,但这有点混乱.