0

编辑:

如前所述,我将比较器类编辑为“IntegerComparator 类”。

import java.util.Comparator;

public class IntegerComparator implements Comparator<Integer> {

public int compare(Integer o1, Integer o2) {
    if(o1>o2){
        return -1;
        }
        else if(o1<o2){
            return 1;
        }
    return 0;
  }
}

编辑 2:比较器问题已解决!看上面。

4

2 回答 2

1

Comparator无法实现自身。更改具体类的名称。

IntegerComparator implements Comparator<Integer>.

于 2013-11-06T15:10:03.673 回答
1

这是你的问题:

import java.util.Comparator;

public class Comparator<T> implements Comparator<? super T>

在 的类文件中Comparator,这个词Comparator表示它本身,而不是java.util.Comparator你导入的。所以,你声明了一个实现自身的类,这显然是非法的。

恕我直言,防止将来出现任何混淆的最佳方法是重命名您的类:

import java.util.Comparator;

/* You can probably come up with a better name than this... */
public class MyComparator<T> implements Comparator<? super T>

或者,如果您真的想继续调用您的 class Comparator,只需使其实现完全合格的java.util.Comparator

public class Comparator<T> implements java.util.Comparator<? super T>
于 2013-11-06T15:06:51.127 回答