重複の可能性:
myString.equals( "aString");がなぜですか。「aString」.equals(myString);とは異なりますか?
一部のJavaコーディング"string to compare".equals(input_value)
の代わりに表示されるのはなぜですか?input_value.equals("string to compare")
長所と短所は何ですか?
ありがとうございました
重複の可能性:
myString.equals( "aString");がなぜですか。「aString」.equals(myString);とは異なりますか?
一部のJavaコーディング"string to compare".equals(input_value)
の代わりに表示されるのはなぜですか?input_value.equals("string to compare")
長所と短所は何ですか?
ありがとうございました
"string to compare".equals(input_value)
nullチェックの必要性を回避します。
input_valueがnullの場合、もう1つはNPWをスローする可能性があります。実際、多くのIDEはこれについて警告し、入力せずにコードを変更できるようにします。
結果は変わらないはずです。
しかし、技術的にはそうかもしれません。
最初のケースでは、equals()メソッドとhashCode()メソッドがStringクラスから呼び出されます。
2番目のケースでは、equals()メソッドとhashCode()メソッドがinput_valueのクラスから呼び出されます。
また、input_valueがnullの場合、最初のケースでは結果は常にfalseになりますが、2番目のケースではNullPointerExceptionが発生します。
どちらが好ましいかを言うのに十分な情報ではありません。それはあなたの目的に依存します。
最初のケースでは、NullPointerExceptionを回避します。
2番目のケースでは、(input_valueのクラスを定義する場合)オブジェクトの同等性を定義する方法(equals()およびhashCode()メソッド)をより細かく制御できます。