1
我有下面的類:電話==不選擇將等於
abstract class IRDMessage extends Ordered[IRDMessage] {
val messageType: MessageType.Type
val timestamp: DateTime
val content: AnyRef
def compare(that: IRDMessage): Int = {
val res = timestamp compareTo that.timestamp
res
}
override def equals(obj: Any): Boolean = obj match{
case message: IRDMessage => compareTo(message) == 0
case _ => false
}
}
我有幾個具體的實現,以及。但是,當我試圖說任何IRDMessage的子類型的a == b
時,equals方法不會被調用,它只是比較引用(默認等於實現)。任何想法可能會造成這種情況?
子類是簡單的案例類btw。
你能否提供完整的工作代碼來顯示失敗?當我簡化你所擁有的東西時,我看不到這樣的問題。 – 2013-05-14 15:40:51