类我有以下的测试代码:不能编译它实现的接口中,无类型参数
public interface Container<I> {
public void addClass(Class<?> clazz);
}
public class MyContainer implements Container {
public void addClass(Class<?> clazz) {}
}
,并试图编译这两个类时,我收到以下错误:
myContainer中。 java:1:MyContainer不是抽象的,并且不覆盖容器中的抽象方法addClass(java.lang.Class)
如果我向Container接口添加一个类型e在MyContainer中(例如<Object>
),我没有收到错误。
问题是我向容器引入了类型参数,它是公共API的一部分,所以为了兼容性,我不能让所有实现类都无法编译。
任何人有任何想法?这是一个类型擦除问题?有没有解决方法?
@ Skeet-阐述将helpful..TIA – hakish 2010-10-01 11:07:14
我看看,谢谢乔恩。公认。 – 2010-10-01 12:19:05