gpt4 book ai didi

java - 如果实现具有通用参数的方法的接口(interface),Eclipse 会提示名称冲突

转载 作者:行者123 更新时间:2023-11-30 07:38:51 25 4
gpt4 key购买 nike

stackoverflow 上已经有一些关于 Java 泛型的讨论,但我太笨了,无法解决这个具体问题。我在一个项目中定义了一个接口(interface),在另一个项目中定义了它的实现。它们在不同的包中。编译器没有实现该方法,而是在某些工作区中提示:

名称冲突:SuperDuperHighlightable 类型的方法 highlight(EnumSet, int, int) 与 IHighlightable 类型的 highlight(EnumSet, int, int) 具有相同的删除,但不会覆盖它

相同的代码在其他工作区中没有报错,我找不到相关的差异。所有项目和工作区都使用 JRE SE 1.5。

HighlightingStyle.java

package org.my.api;

public enum HighlightingStyle {
NONE, FIELD, SELECTION, TEST
}

IHighlightable.java

package org.my.api;

import java.util.EnumSet;
import javax.swing.text.BadLocationException;

public interface IHighlightable {
void highlight(EnumSet<HighlightingStyle> style, int start, int length)
throws BadLocationException, IllegalArgumentException;
}

实现:

package org.my.impl;

import java.util.EnumSet;
import javax.swing.text.BadLocationException;
import org.my.api.HighlightingStyle;
import org.my.api.IHighlightable;

public class SuperDuperHighlightable implements IHighlightable {

public void highlight(EnumSet<HighlightingStyle> styleSet, int start, int length)
throws BadLocationException, IllegalArgumentException {
for (HighlightingStyle style : styleSet) {
DoSomething(style, start, length);
}
}

private void DoSomething(HighlightingStyle style, int start, int length) {
// TODO Auto-generated method stub

}

}

如果这是源代码问题、工作区问题或 Eclipse 的某些问题,您有什么见解吗?

最佳答案

尚无解决方案,但有一些提示和测试:

  1. 清理工作区中的所有项目,这有时有助于解决基于 eclipse 的问题
  2. 确保您只有类文件“HighlightingStyle”。也许,实现从不同的源/类加载器获取 HighlightingStyle。也许类路径上有一个包含枚举和/或接口(interface)的库
  3. 重命名枚举并检查重构是否更改了接口(interface)和实现中的名称。

希望能解决您的问题..

编辑

没有得到正确的,它在某些工作区中工作。所以我确定,这是一个工作区配置问题,甚至可能是一个错误。在这一点上,我个人不会继续解决该问题,而只是将所有项目压缩到一个存档中,移动或重命名整个工作区,创建一个新的(相同名称,原始位置)并导入所有存档项目。如果可以,请删除移动或重命名的工作区。

当然,您丢失了工作区设置,我无法判断这是否是您遇到的问题。我以前曾在某些场合这样做过(我在使用 subversion 和 mercurial 插件时遇到了一个丑陋的问题......)而且这很容易。

关于java - 如果实现具有通用参数的方法的接口(interface),Eclipse 会提示名称冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1394628/

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