Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 名称与泛型冲突_Java_Generics - Fatal编程技术网

Java 名称与泛型冲突

Java 名称与泛型冲突,java,generics,Java,Generics,我不确定这里发生了什么,因为我实现了这个接口,正确地指定了类型,但是得到了这个错误 基本遥测数据类型定义: public interface TelemetryData<T> extends Iterable<T> { } 公共接口遥测数据扩展了Iterable{ } 接口声明: public interface DataAccessor<R, T> { T access(TelemetryData<R> dataStore) thr

我不确定这里发生了什么,因为我实现了这个接口,正确地指定了类型,但是得到了这个错误

基本遥测数据类型定义:

public interface TelemetryData<T> extends Iterable<T> {

}
公共接口遥测数据扩展了Iterable{
}
接口声明:

public interface DataAccessor<R, T> {
    T access(TelemetryData<R> dataStore) throws IOException;
}
公共接口数据访问器{
T access(遥测数据存储)引发IOException;
}
实现类:

static abstract class A<R, T> implements DataAccessor<R, T> {
    @Override
    public final T access(TelemetryData<R> dataStore) throws IOException {
        //implementation    
    }
}
静态抽象类A实现DataAccessor{
@凌驾
公共最终T访问(遥测数据存储)引发IOException{
//实施
}
}
编译错误是: 错误:名称冲突:A中的access(TelemetryData)和DataAccessor中的access(TelemetryData)具有相同的擦除,但两者都不覆盖另一个

实现类使用指定的泛型类型实现接口,该泛型类型应该解决类型擦除问题,方法实现的定义是精确的签名(final除外,final应该是无关的)

任何关于问题所在的见解,因为我认为这是正确的。。 源代码/目标代码为1.7,使用JDK1.8进行编译

编辑:
这很奇怪,我将问题代码放在一个SCCE的单个文件中,然后它构建了。。这让我想知道maven/netbeans是否在某个地方留下了一些垃圾。

您能绝对确保在每个文件中导入相同的遥测数据吗?是的,我甚至清理了两个项目,从maven repo中删除了它们,然后尝试重建。-此外,DataAccessor是在同一遥测数据源文件中定义的。请创建一个再现您的问题的最小示例:这就是示例。。我唯一能补充的是遥测数据接口的基本定义…“它再现了您的问题”。。。你的例子没有做到这一点。它遗漏了必要的类、类结构、导入语句和
A
的外部类。您能绝对确保在每个文件中导入相同的遥测数据吗?是的,我甚至清理了两个项目,从maven repo中删除了它们,然后尝试重建。-此外,DataAccessor是在同一遥测数据源文件中定义的。请创建一个再现您的问题的最小示例:这就是示例。。我唯一能补充的是遥测数据接口的基本定义…“它再现了您的问题”。。。你的例子没有做到这一点。它遗漏了必要的类、类结构、导入语句和
A
的外部类。