0
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;
}

これら 2 つの機能に推奨される標準はありますか? のように、このような関数では常に「if」の後に「else」が続く必要がありますか?

編集:たとえば、次のように定義された equals を見たことがありますか? 「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));
    }
}
4

6 に答える 6

2

boolean値そのものを返すだけ

return a > b;
于 2013-10-31T13:22:37.280 に答える
0

いいえ、これには「事前定義された標準」はありません。

Java にはいくつかのコーディング規約があります。たとえばJava Code Conventionを参照してください。

于 2013-10-31T13:22:30.197 に答える
0

それは好みと複雑さの問題です。これは単純なケースなので、else に入れる必要はありません。より複雑なケースでは、使用することをお勧めしますelse (if)

もちろん、次のように短縮することもできるため、この例は最適ではない可能性があります。return a > b

于 2013-10-31T13:23:01.070 に答える
0

この 2 つのケースには、論理的な違いはありません。通常、2 つ以上の可能性がある場合は、else が必要です。次のケースを考えてみましょう

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;
于 2013-10-31T13:23:05.263 に答える