【问题标题】:why to implements Comparator<t> not simply Comparator [duplicate]为什么要实现 Comparator<t> 而不仅仅是 Comparator [重复]
【发布时间】:2018-06-13 08:39:58
【问题描述】:
class problemsolver implements Comparator<Student> {

   public int compare(Student obj1,Student obj2) {
       return obj1.fname.compareTo(obj2.fname);
   } 
}

当我只写class problemsolver implements Comparator 时,它会显示此错误。

prog.java:25: 错误:问题求解器不是抽象的,并且不会覆盖 Comparator 中的抽象方法 compare(Object,Object)

为什么?

【问题讨论】:

  • ComparatorComparator&lt;Object&gt; 需要签名 compare(Object o1, Object o2)
  • 因为 Comparator 有一个泛型类型参数,而忽略它是错误的。了解泛型,在这样做的同时,您还可以了解为什么不将它们排除在外。

标签: java comparator


【解决方案1】:

隐式ComparatorComparator&lt;Object&gt;,然后编译器期望你实现compare(Object, Object)

你需要的是:

class problemsolver implements Comparator<Student>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    相关资源
    最近更新 更多