為什么阿里強制 boolean 類型變量不能使用 is 開頭?
點擊上方“碼農(nóng)突圍”,馬上關(guān)注
這里是碼農(nóng)充電第一站,回復(fù)“666”,獲取一份專屬大禮包 真愛,請設(shè)置“星標”或點個“在看
來源: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;
????}????

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

