按:有一种编程建议是,避免对 boolean 变量使用 is 打头的命名方式,尽量回避这种问题。
用 Eclipse 的代码自动生成 getter, setter,发现碰到逻辑型的域有个问题:
下面是一个具体的例子,注意黑体的地方。
public class HelloPojo {
private String name;
private boolean isMale;
private Boolean isOld;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isMale() {
return isMale;
}
public void setMale(boolean isMale) {
this.isMale = isMale;
}
public Boolean getIsOld() {
return isOld;
}
public void setIsOld(Boolean isOld) {
this.isOld = isOld;
}
}
查了一圈网站,对于 boolean/Boolean 型的域对应的 getter and setter 究竟应该用哪个,是有争论的。为了保险起见,对于 boolean 这个基本型,也用 getIsXxx and setIsXxx 的形式好了:
private boolean isMale;
public boolean getIsMale() {
return isMale;
}
public void setIsMale(boolean isMale) {
this.isMale = isMale;
}
类似的讨论: