java - Comparator<String> 必须覆盖父类(super class)方法

标签 java generics map comparator treemap

我正在制作 TreeMap<String, String>并希望以降序排列。我创建了以下比较器:

Comparator<String> descender = new Comparator<String>() {

    @Override
    public int compare(String o1, String o2) {
        return o2.compareTo(o1);
    }
};

我像这样构建 TreeMap:

myMap = new TreeMap<String, String>(descender);

但是,我收到以下错误:

The method compare(String, String) of type new Comparator<String>(){} must override a superclass method

我从来没有完全理解泛型,我做错了什么?

最佳答案

您的 Eclipse 项目显然设置为 Java 1.5。 @Override 注释确实在接口(interface)方法上不受支持。删除该注释或将项目的合规性级别修复为 Java 1.6。

关于java - Comparator<String> 必须覆盖父类(super class)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7223512/

相关文章:

java - 何时使用 java.lang.reflect 包

java - 无法重载 AIDL 接口(interface)中的方法

斯卡拉 : Collect with generics

go - 如何编写一个以字符串或错误作为参数的泛型函数?

c++ - 在 Map c++​​ 中对 vector 进行排序

android - 如何更新显示在 map 上的 Android 逐项叠加层

java - 如何在 String.Format 中转义 %?

java - 如何判断检测到的人脸是真人还是假人

ios - Swift 协变泛型

Java 等同于 C++ multimap