如何正确定义接口的返回值(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

posted @ 2020-04-26 14:44  草木物语  阅读(7405)  评论(0编辑  收藏  举报