類我有以下的測試代碼:不能編譯它實現的接口中,無類型參數
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