重複の可能性:
これら2つの条件の違いは?
コードのクリーンアップを行っていますが、NetBeansが変更を提案しました
if(!billAddress1.equals(""))
にif (!"".equals(billAddress1))
。
2つの違いと、元のバージョンの読みやすさよりも提案されたバージョンを使用することの利点は何ですか?
重複の可能性:
これら2つの条件の違いは?
コードのクリーンアップを行っていますが、NetBeansが変更を提案しました
if(!billAddress1.equals(""))
にif (!"".equals(billAddress1))
。
2つの違いと、元のバージョンの読みやすさよりも提案されたバージョンを使用することの利点は何ですか?
billAddress1.equals("")
billAddress1
is null
、"".equals(billAddress1)
wontの場合、NullPointerExceptionが発生します。
// Could cause a NullPointerException if billAddress1 is null
if(!billAddress1.equals(""))
// Will not cause a NullPointerException if billAddress1 is null
if (!"".equals(billAddress1))
!"".equals(billAddress1)
を引き起こすことは決してないので、そうでなければ必要とされるであろうNPE
を取り除くことを可能にすることによって、よりコンパクトな構文を可能にします。billAddress1 == null
後者は、値がnullの場合、Nullポインター例外を引き起こしません。
他の人が指摘しているように、1つはNPEからあなたを救います。ただし、nullにならないことが確実な場合は、文字列が空かどうかを確認するためのより良い方法は、String.isEmpty()
メソッドを使用することです。これは、コードが実行しようとしているようです。
最初のものは、NullPointerExceptionを引き起こす可能性があります。