java类中的布尔(boolean&Boolean)类型字段要注意get方法和字段的命名
idea會(huì)自動(dòng)生成get/set方法的,
對于布爾類型,要非常注意生成的get方法,到底是is開頭還是get開頭.
先說結(jié)論:
1.Boolean類型,生成的get方法是get開頭的(建議使用這個(gè)).
2.boolean類型,生成的get方法是is開頭的(用這個(gè)最好重寫getXxx()格式的方法).
3、字段不要以isxxx命名,在springsimpleformController中獲取數(shù)據(jù)時(shí)候不能反射到該屬性,存數(shù)據(jù)時(shí)候也會(huì)遇到問題。具體問題以后遇到再補(bǔ)充。
以下這個(gè)例子,可以驗(yàn)證這個(gè)區(qū)別:
class TestClass{
private Boolean daXie;//布爾的包裝類
private boolean xiaoXie;//基本類型-布爾
//下面是idea自動(dòng)生成的get/set方法
//布爾包裝類Boolean的get方法,是正常的get開頭的
public Boolean getDaXie() {
return daXie;
}
public void setDaXie(Boolean daXie) {
this.daXie = daXie;
}
//請注意這里,基本類型boolean下自動(dòng)生成的get方法,是is開頭的
public boolean isXiaoXie() {
return xiaoXie;
}
public void setXiaoXie(boolean xiaoXie) {
this.xiaoXie = xiaoXie;
}
}
從上面的例子可以看出,小寫的boolean基本類型作為類的屬性時(shí),自動(dòng)生成的get方法,是is開頭的,這樣在平時(shí)的使用中是無傷大雅的,但考慮到如果這個(gè)對象涉及到反射,反射一般會(huì)默認(rèn)調(diào)取對象的get方法,對于這個(gè)is的情況,是走不通的.
總結(jié):
用到布爾值的屬性時(shí),最好統(tǒng)一使用大寫的包裝類Boolean.
如果用小寫的booean基本類型,最好重寫get方法,保證是getXxxx的格式即可.
擴(kuò)展:
一般用到反射的地方有:
1.泛化調(diào)用(具體了解可參考dubbo框架)
2.BeanUtils.copyPropertits(a,b);
總結(jié)
以上是生活随笔為你收集整理的java类中的布尔(boolean&Boolean)类型字段要注意get方法和字段的命名的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery设置输入框为只读_将SQL中
- 下一篇: 一行代码教你如何破解周边WiFi密码