使用通用Map参数覆盖方法

时间:2014-02-17 09:11:57

标签: java generics override

我有以下代码:

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类中得到以下错误

  

类型B的方法grpMap(ConcurrentMap)必须覆盖   或实现超类型方法

我的问题是我无法改变声明classes key, B and C的方式,因为这些是遗留类。

有关如何摆脱此错误的任何建议吗?

EDIT ---

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

1 个答案:

答案 0 :(得分:2)

注释

@override

应该是

@Override
 ↑

另外,在IDE中检查Java版本 - 它应该是1.6或更新版本,以便摆脱错误。

打开Project properties - &gt; Java compiler - &gt;将合规级别设置为1.6 - &gt;行。