それぞれに利点があり、違いを理解していますが、ベストプラクティス/標準プラクティスは何ですか?なぜ?
例えば :
"myString".equals(myStringVar)
- 潜在的なNPEを回避し、nullチェックを必要としません。(良いこと?)
- nullチェックが必要ないため、読みやすくなります。
- nullが予期される値でない場合、プログラムは賢明でなくても壊れている可能性があります。
しかしながら
myStringVar.equals("myString")
- nullが期待値である場合、nullチェックが必要です。(良いこと?)
- nullチェックで複合条件を乱雑にすることができます。
- NPEが何かが壊れているかどうかを知らせることができます。
Javaで使用する標準と見なされるバリエーションはどれですか?
2
nullが期待される値であるかどうかにかかわらず、「等しい」操作はこれが問題であると判断する場所である必要がありますか?
—
マシューフリン
私はそうは思いません。しかし、それは私の意見です。他の人の理論的根拠を聞きたいです。
—
BrandonV
割り当て/比較に=および/または==を使用する言語では、通常、変更できないものを左側に配置して、比較するつもりで誤って割り当てられないようにすることをお勧めします。.equalsのようなオブジェクトでメソッドを使用する言語の場合、それは重要ではないと思います。
—
-GordonM