2

正しい使い方である簡単な質問equalsも、答えの背後にある理由を提供します。

"Delta".equals(type) 

また

type.equals("Delta")
4

2 に答える 2

8

一般的

"Delta".equals(type)

を投げることは不可能であるため、好まれNullPointerExceptionます。とはいえ、Java 言語仕様に誤りがないため、他の方法は「正しくない」わけではありません。ただし、 true の場合 は失敗する可能性(type == null)があります。

「ベスト プラクティス」という用語は、より良い選択と、正しいが劣る選択を区別するために使用されます。この場合"Delta".equals(type)は、null ポインター参照を処理するために必要な不要なガード コードを回避するためのベスト プラクティスです。

于 2012-04-17T16:02:22.920 に答える
1

どちらも正しいです。1 つ目は間違いなく非 null 文字列で比較メソッドを呼び出すため、NullPointerException はスローされず、2 つ目typeは nullの場合にスローされる可能性があります

最初のバージョンは「より安全」で、2 番目のバージョンはより自然に「読み取り」ます

于 2012-04-17T16:03:17.850 に答える