Eclipse luna 重复方法名称

Eclipse luna duplicate method names

背景: 我们遇到的主要问题是我们在 Redhat linux Santiago 6 中的 Eclipse Helios 运行 崩溃,有时没有响应。我们无法找出根本原因并尝试了我从不同站点(包括 Whosebug)读取的不同解决方案。

到目前为止我做了什么: 所以我决定下载 Eclipse Luna 并从我的 Eclipse Helios 导入现有项目,并将 eclipse luna 中安装的 jre 更改为 jrockit 构建在 WLS 1.8 中(因为我们使用的是遗留框架)

问题:导入现有项目后,eclipse luna 出现问题。

Duplicate methods named put with the parameters (K, V) and (Object, Object) are inherited from the types HashMap and AbstractMap

The method put(Object, Object) is ambiguous for the type

但是在 eclipse helios 中没有遇到这个错误。

我也下载了 eclipse Juno、Kepler,但与 luna 的问题相同。

问题:是否有解决此问题的方法,或者我如何在 eclipse luna 中关闭并忽略此错误?

编辑:根据要求编辑示例代码

这是有错误的 类 之一。

public class DummyMessageMap extends HashMap implements MessageMap {
  // implementation of the interface but returns null values.
}

public interface MessageMap extends Map{

    public Message getMessage(String key);
    public String getLanguage();
}

这对我来说似乎是一个超负荷的问题。

Java如果参数相同,无法确定使用哪一个。因此,它会抛出重复方法错误。

尝试更改方法参数并再次测试您的程序,您的错误可能是由于不正确地重载方法造成的。

这里的问题是接口 java.util.Map 通过两条路径到达您的 class DummyMessageMap,即 DummyMessageMap extends HashMap extends AbstractMap implements MapDummyMessageMap implements MessageMap extends Map。在第二条路径中,如错误所示,泛型类型 KV 在您的代码中指定为 objectobject。这是一种叫做 Multipath Hierarchy 的设计味道,除了消除这种路径冲突之外别无他法。如果可能,请尝试从 MessageMap 中删除 extends Map