JAXB中布尔值的问题

在项目中需要采用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;
	}

}

 

你可能感兴趣的:(JAXB,boolean,boolean,默认值false)