为什么阿里强制 boolean 类型变量不能使用 is 开头?
点击上方“码农突围”,马上关注
这里是码农充电第一站,回复“666”,获取一份专属大礼包 真爱,请设置“星标”或点个“在看
来源:blog.csdn.net/belongtocode/article/details/100635246
背景
isXXX
来命名呢?到底是用基本类型的数据好呢还是用包装类好呢?例子
private String isHot;
public String getIsHot() {
return isHot;
}
private boolean isHot;
public boolean isHot() {
return isHot;
}
private Boolean isHot;
public Boolean getHot() {
return isHot;
}
private boolean hot;
public boolean isHot() {
return hot;
}
private Boolean hot;
public Boolean getHot() {
return hot;
}
对于非boolean类型的参数,getter和setter方法命名的规范是以get和set开头 对于boolean类型的参数,setter方法是以set开头,但是getter方法命名的规范是以is开头 包装类自动生成的getter和setter方法的名称都是 getXXX()
和setXXX()
getXXX()
和setXXX
,但是对于基本数据中布尔类型的数据,又有一套规定,其getter和setter方法是isXXX()
和setXXX
。但是包装类型都是以get开头isSuccess()
方法的时候,rpc框架会“以为”其对应的属性值是success,而实际上其对应的属性值是isSuccess,导致属性值获取不到,从而抛出异常。总结
isSuccess()
方法修改成getSuccess()
,也能获取到Success属性值,若两者并存,则之后通过getSuccess()
方法获取Success属性值。- END - 最近热文
• 某科技公司领导称80后该退出IT行业,网友炸了! • Java 中的屠龙之术:如何修改语法树? • 程序员之天梯排行榜,你在哪一级? • 提高千倍效率的 Java 代码小技巧
评论