Java eclipse中的通用接口错误

Java eclipse中的通用接口错误,java,eclipse,generics,Java,Eclipse,Generics,我有一个通用接口: public interface DAO<T> { public T get(long id); public Set<T> getAll(); public void delete(T object); public void update(T object); public void create(T object); } 公共接口DAO { 公共T get(长id); 公共集getAll(); 公共无效

我有一个通用接口:

public interface DAO<T>
{
    public T get(long id);
    public Set<T> getAll();
    public void delete(T object); 
    public void update(T object);
    public void create(T object);
}
公共接口DAO
{
公共T get(长id);
公共集getAll();
公共无效删除(T对象);
公共无效更新(T对象);
公共void创建(T对象);
}
和一个实现类:

public class FooDAO implements DAO<Foo>
{
    ... implementations here ...
}
公共类FooDAO实现DAO
{
…这里的实现。。。
}
为什么eclipse告诉我有以下错误:

“类型DAO不是泛型的;它不能用参数参数化”


这不会显示在问题选项卡中,所有内容都可以正常构建和运行,但我仍然可以在编辑器窗口中看到错误。这里发生了什么?

请确保您的工作区设置为自动生成项目,也许您正在查看过时的错误消息


有时编辑器似乎“落后”于项目的真实状态,仍然显示不再有效的错误,请尝试简单地关闭打开的文件并重新打开它。

除了其他答案之外,请尝试关闭Eclipse并重新打开它。它有时喜欢出故障。

类似于matt b。但是,请确保eclipse项目正在全面构建。如果有其他文件未能编译,整个项目可能无法编译,并且对DAO所做的更改可能无法编译(因此可见)


尽管如此,您的代码看起来应该编译。

从2011年3月21日起,我尝试了所有答案,但都没有效果。项目运行良好,因此我认为这是eclipse中的一个bug。

清理和重建项目也不会有什么坏处。有时,这会清除可能导致此问题的积垢。如果类型DAO被识别,则不会是导入问题。