「等しい」と「==」の違い

アドレスに等しいが、使用する場合、それは通常のequals()メソッドを書き換えているので、比較のために、「値」であるにも比較

等号のためのJava言語の要件は()以下、これらの要件に従う必要があります。
  対称性:x.equals(y)が返す場合y.equals(x)が「真」を返す必要があり、「真」です。
  レフレックス:x.equals(x)の戻り値が"真"でなければなりません。
  性的類推:x.equals(y)のリターンが"真"であり、y.equals(Z)を返すが"真"である場合、z.equals(x)は"真"を返すべきです。
  一貫性:x.equals(y)が返された場合は限り、あなたはx.equals(y)を繰り返しているかどうか、xとyは、回数を同じコンテンツを持っているように、リターンは「真」は、「真」です。
  いずれの場合においてについて、x.equals(NULL)、常に「偽」を返す; x.equals(および物体xの異なる種類)が常に「偽」を返します。
  これは)(ガイドラインは等号を書き換えるために従わなければならない、5点の方法を上回っている違反予期しない結果が発生した場合には、必ず従ってくださいください。

  hashCodeメソッドは、整数を返し、オブジェクトのデフォルトのアドレス、文字列、整数及び書き換え他のパッケージタイプを返し
  、文字列の各文字のための現在の符号化された値から整数値を以下の宣伝
  公共int型のハッシュコード(){
    リターン"ABCDE" .hashCode();
  }

「==」の比較は、アドレスです

おすすめ

転載: www.cnblogs.com/xinchen01/p/10969238.html