java - 使用通用 Map 参数重写方法

标签 java generics overriding

我有以下代码:

class Key{
 --Some Implementation
}

class A{
   public void grpMap(ConcurrentMap<Key,List<Key> keyList){ 
   --Some Implementation   
   }

}

public class B extends A{
   --Edited
   @Override -- [Made "O" capital case after kocko's reply]
   public void grpMap(ConcurrentMap<Key,List<Key> keyList){ 
   --Some Implementation   
   }


}

使用上面的代码,我在 B 类中遇到以下错误

The method grpMap(ConcurrentMap) of type B must override or implement a supertype method

我的问题是我无法更改类键、B 和 C 的声明方式,因为这些是遗留类。

关于如何消除此错误有什么建议吗?

编辑---

使用的JDK版本是1.6.43 我正在使用 eclipse,它会自动生成注释。

最佳答案

注释

@override

应该是

@Override
 ↑

此外,请检查 IDE 中的 Java 版本 - 它应该是 1.6 或更高版本,以便消除错误。

打开项目属性 -> Java编译器 -> 将合规级别设置为1.6 -> 确定。

关于java - 使用通用 Map 参数重写方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21824879/

相关文章:

java - 如何使用 Java 9 安装 JRuby-9.1.13.0?

c# - WebAPI : 'IHttpActionResult' does not contain a definition for 'GetAwaiter'

Java匿名子类和常规(非匿名)子类的区别

java - 如何覆盖在另一个已继承的类中赋值的变量

java - Java Swing 中类似文本的 JPanel 换行

java - 如何在同一线程中并行通量内运行单声道

java - Spring : File Upload RESTFUL Web Service

java - 如何指定字体属性的通用映射?

java - 当类型仅在运行时已知时使用 Java 泛型

c# - c#中的if返回语句