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));
}
}
答案 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:你有一个替代路径,如果可以发生,你知道它并优雅地处理它。
没有别的:“我也不知道我们是怎么来到这里的,所以让我们回复那些没有那么多伤害的东西......”