0

これは悪い習慣ですか、それともパフォーマンスに影響がありますか?これは、xがnullに等しくないことを確認するためです

    if( !(x == null) ){
    System.out.println("x is not a null value");
    }
4

6 に答える 6

6

これを行う通常の方法は次のとおりです。

if(x != null){
    System.out.println("x is not a null value");
}

値がnullでないかどうかを確認しても問題はありません。

于 2013-01-01T11:10:37.067 に答える
4

理由を明確にせずに行うのは悪い習慣です。あなたの例では、なぜあなたがチェックをしているのかは明らかではありません。一般的な例は次のようなものです

if (s == null || s.isEmpty()) // if s empty or not set.

また

if (s != null && s.length() > 0)

通常、これは必要なときに行います。その場合、パフォーマンスは重要ではありません。

通常、あなたは書くでしょう

if(x != null)

以上

if (x == null) {
   // handle null, assuming this is not empty.
} else {
   // handle not null
}
于 2013-01-01T11:11:43.017 に答える
1

コンパイラを信頼して最適化できるため、パフォーマンス面では関連性が低い可能性があります。

それはただのスタイルの問題です。スタイルは常に主観的ですが、私if (x != null)はより簡潔で読みやすいと思います。

于 2013-01-01T11:11:10.313 に答える
1
if(x != null) is recommended and easy to read "X is not equal to null"

if(!(x == null))は「Xがnullに等しくない」と読み取ることができません

于 2013-01-01T11:12:52.797 に答える
1

ここに追加するだけのベストプラクティスは、

if(null!= x){
System.out.println( "xはnullではありません");
}


if(x!= null){
System.out.println( "x is not null"); の代わりに
}

私はJavaでとにかく動作することを知っていますが、これはあなたが誤ってxにnullを割り当てるかもしれないc++のような他の言語であなたを救うでしょう、例えば

if(x = null){
printf( "xはnullではありません");
}

于 2013-01-01T12:15:45.147 に答える
0
if( !(x == null) ){
System.out.println("x is not a null value");
}

条件がブール値のtrueまたはfalseを返す場合も同様です。したがって、上記の記述は何の影響も及ぼしません。上記のコードによると、あなたが書いた条件は「真でない場合」です。それなら何かをしてください!そして他の人if(x != null)がより良い方法で混乱の少ないコードを書くことを提案しているように;)

于 2013-01-01T11:10:55.383 に答える