Javaでnullでない値をチェックする最良の方法は何ですか.
String query ="abcd";
query != null
対 !query.equals(null).
どっちがいい?なぜ?
Javaでnullでない値をチェックする最良の方法は何ですか.
String query ="abcd";
query != null
対 !query.equals(null).
どっちがいい?なぜ?
あなたの値が実際に_ NPE
_ それと同じくらい簡単です。null
これを試してください:
String str = null;
str.equals(null); // will throw `NPE`.
したがって、基本的に、実行したいテスト自体がNullPointerException
2番目のケースでトリガーされます。したがって、それは選択の余地がありません。
!str.equals(null)
意思
null チェックのポイントは、このコードの参照がstr
実際にオブジェクトを参照していることを確認することです。null の場合、 をスローせずに を含むメソッドを呼び出すことはできません。equals
NullPointerException
その!str.equals(null)
ため、ヌルチェックが防止することを目的としており、あなたが考えていることをまったく実行しないという非常に問題が発生します。絶対にしないでください。
query != null
オブジェクトが であるかどうかを比較しますnull
。query.equals("something")
そのオブジェクト内の値を比較します。string == "something
". したがって、この場合は を使用しますquery != null
。
query != null
!query.equals(null)
クエリが実際に null の場合に例外をスローする方がよいでしょう。またquery != null
読みやすい