名字与泛型冲突

时间:2015-12-09 21:07:32

标签: java generics

我不确定这里发生了什么,因为我正在实现此接口正确指定类型,但是我收到此错误..

基本的TelemetryDataType定义:

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

}

接口声明:

public interface DataAccessor<R, T> {
    T access(TelemetryData<R> dataStore) throws IOException;
}

实施班:

static abstract class A<R, T> implements DataAccessor<R, T> {
    @Override
    public final T access(TelemetryData<R> dataStore) throws IOException {
        //implementation    
    }
}

编译错误是: 错误:名称冲突:A中的访问(TelemetryData)和DataAccessor中的访问(TelemetryData)具有相同的擦除,但都不会覆盖其他

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

对此问题有任何了解,因为这对我来说是正确的.. 源/目标是1.7使用JDK 1.8进行编译。

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

0 个答案:

没有答案