為什么阿里強(qiáng)制 boolean 類型變量不能使用 is 開頭?
點(diǎn)擊上方“碼農(nóng)突圍”,馬上關(guān)注
這里是碼農(nóng)充電第一站,回復(fù)“666”,獲取一份專屬大禮包 真愛,請(qǐng)?jiān)O(shè)置“星標(biāo)”或點(diǎn)個(gè)“在看
來源:blog.csdn.net/belongtocode/article/details/100635246
背景
isXXX來命名呢?到底是用基本類型的數(shù)據(jù)好呢還是用包裝類好呢?例子
?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;
????}????

對(duì)于非boolean類型的參數(shù),getter和setter方法命名的規(guī)范是以get和set開頭 對(duì)于boolean類型的參數(shù),setter方法是以set開頭,但是getter方法命名的規(guī)范是以is開頭 包裝類自動(dòng)生成的getter和setter方法的名稱都是 getXXX()和setXXX()
getXXX()和setXXX,但是對(duì)于基本數(shù)據(jù)中布爾類型的數(shù)據(jù),又有一套規(guī)定,其getter和setter方法是isXXX()和setXXX。但是包裝類型都是以get開頭isSuccess()方法的時(shí)候,rpc框架會(huì)“以為”其對(duì)應(yīng)的屬性值是success,而實(shí)際上其對(duì)應(yīng)的屬性值是isSuccess,導(dǎo)致屬性值獲取不到,從而拋出異常。總結(jié)
isSuccess()方法修改成getSuccess(),也能獲取到Success屬性值,若兩者并存,則之后通過getSuccess()方法獲取Success屬性值。
-?END - 最近熱文
? ?某科技公司領(lǐng)導(dǎo)稱80后該退出IT行業(yè),網(wǎng)友炸了! ? ?Java 中的屠龍之術(shù):如何修改語法樹? ? ?程序員之天梯排行榜,你在哪一級(jí)? ? ?提高千倍效率的 Java 代碼小技巧
評(píng)論
圖片
表情

