1
我在使用javax.swing.event.EventListenerList
類在我的個人Java項目中遇到麻煩。這不是一件簡單的事情,所以我做了一個簡單的例子,它有同樣的問題。Java泛型編譯錯誤「Class <capture#1 of?...」
package test;
public class GenericTest {
public static void main(String[] args) {
GenericTest gt = new GenericTest();
gt.doTest(String.class);
}
private void doTest(Class<? extends Comparable> type) {
doSomething(type, "test"); // Compile error :
// The method doSomething(Class<C>, C)
// in the type GenericTest is not applicable for the arguments
// (Class<capture#1-of ? extends Comparable>, String)
}
// third party API like javax.swing.event.EventListenerList.add()
private <C extends Comparable> void doSomething(Class<C> ct, C c) {
// ...
}
}
我得到了像代碼中的泛型編譯錯誤。
我有很多類擴展了特定的接口,如java.lang.Comparable
,我想用代碼中的單個方法處理所有這些類似doTest()
。
任何人都可以幫到我嗎?
嗯,你的'doSomething'方法希望第二個參數是用於第一個參數的類的實例。想象一下,如果我調用'doTest(Integer.class)'... –
謝謝。我明白了。 – Shinbop