java电子邮件类型必须实现继承的抽象方法。比较(对象)
它给出了这些错误 电子邮件类型必须实现继承的抽象方法。比较(对象) 键入电子邮件。DateComparator必须实现继承的抽象方法Comparator。比较(对象,对象) 键入电子邮件。SubjectComparator必须实现继承的抽象方法Comparator。比较(对象,对象)
虽然我有
public class Email implements Comparable, Serializable
{
...
public static class DateComparator implements Comparator
{
public int compare(Email email1, Email email2)
{
return email1.getTimestamp().compareTo(email2.getTimestamp());
}
}
public static class SubjectComparator implements Comparator
{
public int compare(Email email1, Email email2)
{
return email1.getSubject().compareTo(email2.getSubject());
}
}
}
如何修复
# 1 楼答案
将您的类签名更改为:
并采用可比方法:
当然,这是假设,您首先要使类具有可比性。目前,无论出于何种原因,都在类中定义了嵌套的比较器
# 2 楼答案
实现比较器。比较(对象,对象)方法。将参数转换为电子邮件。您实现了比较器。比较(电子邮件、电子邮件)
# 3 楼答案
您已经
Email
实现了Comparable
接口。如果您提供了各种比较器,或者直接在Email
类中实现compareTo
方法,并使用一些合理的“自然顺序”,那么要么不要实现它,这是一件非常合理的事情