gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 15:38:57 24 4
gpt4 key购买 nike

我有这个接口(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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com