首先介绍一下javaBean关于getter和setter方法命名的规范,可能大家就能猜到为什么
public <PropertyType> get<PropertyName>();
public void set<PropertyName>(<PropertyType> a);
关于boolean类型又有专门的一套命名规则
public boolean is<PropertyName>();
public void set<PropertyName>(boolean m);
大家可以看到,boolean类型的变量getter方法命名是is开头,因此在开发过程中会遇到种种问题
举个例子:
public class ArrayInit {
//private boolean isSuccess;
private boolean Success;
/*public boolean isSuccess() {
return isSuccess;
}
public void setSuccess(boolean isSuccess) {
this.isSuccess = isSuccess;
}
*/
public boolean isSuccess() {
return Success;
}
public void setSuccess(boolean success) {
Success = success;
}
通过IDE自动生成的getter方法,Success和isSuccess是相同的
这样的话在javaBean序列化的时候就会有严重的问题
引用一个阿里巴巴java开发手册的规定:
不过,用Boolean的话不存在上述问题,他的getter和setter方法还是第一种正常的方法,
就是存在null的情况,在代码中我们应该尽量避免null的情况而选择boolean。它的默认值是false,然而万事没有绝对,false的默认值有时候并不是我们想要的,所以还是要视情况而定