在项目中需要采用jaxb来生成对应的xml文件,在遇到布尔值的时候,有如下问题需要注意
@XmlRootElement(name="Bean")
public class Bean {
@XmlElement(name="aa")
private boolean flag;
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
}
上面是我刚开始的时候声明布尔值采用了基本类型boolean,但是发现,即使我没有setFlag,它也会默认的set进去,默认值为false,但是项目中这个元素我暂时是不需要的保存到xml中的,所以需要屏蔽之,在leader的帮助下,终于找到了原因,原来声明布尔值的时候,如果要屏蔽之前的效果,需要将布尔值声明为它的封装类型Boolean,最终代码应该如下:
@XmlRootElement(name="Bean")
public class Bean {
@XmlElement(name="aa")
private Boolean flag;
public Boolean getFlag() {
return flag;
}
public void setFlag(Boolean flag) {
this.flag = flag;
}
}