如果其他的话应该跟着

时间:2013-10-31 13:20:20

标签: java

public int example1(int a, int b) {
    if (a > b) {
        return true;
    } else {
        return false;
    }
}

public int example2(int a, int b) {
    if (a > b) {
        return true;
    }
    return false;
}

这两种功能是否有首选标准?如此,在这样的函数中,“if”是否应该始终跟“else”?

编辑:例如,我看到如下定义的等号?你们有些人说你会删除“其他”吗?

public boolean equals(Object otherObject)
{
    if (otherObject == null)
        return false;
    else if (getClass() != otherObject.getClass())
        return false;
    else
    {
        MyClass otherMyClass = (MyClass) otherObject;
        return (variable.equals(otherMyClass.variable));
    }
}

6 个答案:

答案 0 :(得分:5)

目前还没有一个公认的标准。

例如,流行的代码改进工具ReSharper会在这种情况下提示您“删除多余的else”块,因为您可以轻松地在没有其他情况下编写它。

但相反有些人会说使用else块更具可读性。

对于您提供的案例,我会说最简单的选项是

return (a > b);

答案 1 :(得分:2)

只需返回boolean值本身

return a > b;

答案 2 :(得分:0)

不,没有“预定标准”。

Java有一些编码约定,例如参见Java Code Convention,但我从未见过涉及此主题的内容。

答案 3 :(得分:0)

这是一个偏好和复杂性的问题。 这是一个简单的案例,所以你真的不需要把它放在别的地方。 对于更复杂的情况,我建议使用else (if)

当然这个例子可能不是最好的,因为你也可以将它缩短为:return a > b

答案 4 :(得分:0)

这两种情况没有逻辑上的差别。通常,如果有两种以上的可能性,则需要其他方法。考虑以下情况

if(a>2){
    return "GOOD";
}else if(a>1){
    return "BAD";     
}else{
    return null;
}

您可以使用以下内容

return a>b ;// it self retun true or false

return (a>b) ? true:false;

答案 5 :(得分:0)

代码方面没关系。放入别的或不是只是编码风格的问题,而且变化很大。

对我来说代码如下:

使用else:你有一个替代路径,如果可以发生,你知道它并优雅地处理它。

没有别的:“我也不知道我们是怎么来到这里的,所以让我们回复那些没有那么多伤害的东西......”