正しい使い方である簡単な質問equals
も、答えの背後にある理由を提供します。
"Delta".equals(type)
また
type.equals("Delta")
一般的
"Delta".equals(type)
を投げることは不可能であるため、好まれNullPointerException
ます。とはいえ、Java 言語仕様に誤りがないため、他の方法は「正しくない」わけではありません。ただし、 true の場合 は失敗する可能性(type == null)
があります。
「ベスト プラクティス」という用語は、より良い選択と、正しいが劣る選択を区別するために使用されます。この場合"Delta".equals(type)
は、null ポインター参照を処理するために必要な不要なガード コードを回避するためのベスト プラクティスです。
どちらも正しいです。1 つ目は間違いなく非 null 文字列で比較メソッドを呼び出すため、NullPointerException はスローされず、2 つ目type
は nullの場合にスローされる可能性があります
最初のバージョンは「より安全」で、2 番目のバージョンはより自然に「読み取り」ます