クラスにjava.lang.Comparable
を実装しても、equals()
メソッドをオーバーライドする必要がありますか?またはComparable
はequals
でも同様に動作しますか?java.lang.Comparable and equals
答えがでない場合、の場合、矛盾が生じたらどうなりますか? equals()
メソッド内で2つのオブジェクトを等価とする方法が、のcompareTo()
内の等しいクラスの2つのオブジェクトを指す方法と異なります。
Comparable
を実装している場合は、equals()
も上書きする必要がありますか?
+1ここに関連する有効なJavaの章(項目11を参照)へのリンクの
にもかかわらず、2つのオブジェクトを含んでいてもよいですhttp://java.sun.com/developer/Books/effectivejava/Chapter3.pdf – MByD
@MByDリンクをありがとう。それは(意外にも)私よりも優れている! – dlev
@MbyDリンクに感謝します。電話してもよろしいですか?compareTo(b)またはcompare()を直接実行しますか? – aps