java - 当代码复制到另一个项目时,Eclipse 提示名称冲突

标签 java eclipse generics

我有这个接口(interface)及其实现。 Eclipse(Indigo Build id:20110615-0604,Windows 7 Starter 上的 jdk1.6.0_29)在一个项目中不会提示,但是一旦我将它们复制到另一个项目,它就会提示“名称冲突:方法 setChildren(List) 类型Node 具有与 NodeInterface 类型的 setChildren(List) 相同的删除功能,但不会覆盖它”。
这两个项目位于同一个工作区中。我尝试过重新安装Eclipse,但没有效果。这是 Eclipse 问题还是代码根本错误?如何补救?

public interface NodeInterface {
    public List<? extends NodeInterface> getChildren();
    public void setChildren(List<? extends NodeInterface> children);
}

public class Node implements NodeInterface {

    private List<Node> children = new ArrayList<Node>();

    public List<? extends NodeInterface> getChildren() {
        return children;
    }

    public void setChildren(List<? extends NodeInterface> children) {
        this.children = (List<Node>) children;
    }

}

最佳答案

这是因为在该项目中您使用的 Java 版本 < 1.5。 Java 1.5 中添加了泛型。补救措施:右键单击项目 > 属性 > Java编译器 > 选择版本> = 1.5

如果您使用 java 1.4,就会发生这种情况:

enter image description here

当你切换到 Java 1.5 时,一切看起来都很好:

enter image description here

关于java - 当代码复制到另一个项目时,Eclipse 提示名称冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8398658/

相关文章:

java - 如何在 SWT 中使用默认应用程序打开文件?

java加密性能

java - Eclipse 在 libapr 中崩溃 EXCEPTION_ACCESS_VIOLATION

java - 使用 Eclipse 将小程序添加到网站

c# - 受约束的扩展方法产生模棱两可的调用

java - 如何增加 JTextField 中的值

java - 配置构建路径有效,但在 pom 中添加相同的依赖项不起作用

generics - 无法将 dynamic_cast 与泛型一起使用

ios - 为通用类型返回 Nil

java.lang.NoClassDefFoundError : org/jnetpcap/Pcap 错误