- ★★Java質問・相談スレッド174★★ [転載禁止]©2ch.net
669 :デフォルトの名無しさん[sage]:2015/09/17(木) 22:55:48.94 ID:CfrPILTl - >>652
>4.Stringや参照型を比較する際、==では、実体を指しているアドレスの値が同じか比較。 equasでは、実体の持つ情報(文字列やプロパティの中身)が同じかどうか比較。 equalメソッドは「そのクラス同士の比較において『等しい』と定義される条件を満たしているか」をチェックするメソッドな 必ずしも全てのフィールドが等しい必要はないし、Objectで用意されたequalsメソッドは参照値比較しかしてないので 自作クラスの場合はequalsメソッドをオーバーライドしない限り==と同じ効果しかない 反射律対称律推移律を満たして整合性を取れており、nullと比較した時にfalseを返すならどのようにも定義できる その際はhashCodeのオーバーライドも忘れずに
|
|