如何正確定義接口的返回值(boolean/Boolean)類型及命名(success/isSuccess)


一般情況下,我們可以有以下四種方式來定義一個布爾類型的成員變量:

    boolean success;
    boolean isSuccess;
    Boolean success; //推薦寫法
    Boolean isSuccess;

 

 

success 還是 isSuccess

在阿里巴巴Java開發手冊中關於這一點,有過一個『強制性』規定:

-w656

public class Model1 {

    boolean success;

    public boolean isSuccess() {
        return success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }
}
public class Model2 {

    boolean isSuccess;

    public boolean isSuccess() {//如果嚴格按照規范定義的話,getter方法應該叫isIsSuccess。但是很多IDE都會默認生成為isSuccess。 return isSuccess;
    }

    public void setSuccess(boolean success) {
        isSuccess = success;
    }
}
public class Model3 {

    Boolean success; //推薦寫法

    public Boolean getSuccess() {
        return success;
    }

    public void setSuccess(Boolean success) {
        this.success = success;
    }
}
public class Model4 {

    Boolean isSuccess;

    public Boolean getSuccess() {
        return isSuccess;
    }

    public void setSuccess(Boolean success) {
        isSuccess = success;
    }
}

以上代碼的setter/getter是使用Intellij IDEA自動生成的,仔細觀察以上代碼,會發現以下規律:

  • 基本類型自動生成的getter和setter方法,名稱都是isXXX()setXXX()形式的。
  • 包裝類型自動生成的getter和setter方法,名稱都是getXXX()setXXX()形式的。

 

 所以,在定義POJO中的布爾類型的變量時,不要使用isSuccess這種形式,而要直接使用success!

 

Boolean還是boolean

在阿里巴巴Java開發手冊中,對於POJO中如何選擇變量的類型也有着一些規定:

所以,盡量使用包裝類型。

 

總結

本文圍繞布爾類型的變量定義的類型和命名展開了介紹,最終我們可以得出結論,在定義一個布爾類型的變量,尤其是一個給外部提供的接口返回值時,要使用success來命名,阿里巴巴Java開發手冊建議使用封裝類來定義POJO和RPC返回值中的變量。但是這不意味着可以隨意的使用null,我們還是要盡量避免出現對null的處理的。

 

 

阿里巴巴Java開發手冊:https://caoye.lanzous.com/iby7opg

參考文章來源:http://hollischuang.gitee.io/tobetopjavaer/#/basics/java-basic/success-isSuccess-and-bollean-Bollean


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM