0
有了這些通用接口和類:Java的遞歸泛型類的通配符匹配
interface TestIntf<T extends TestIntf<T>>
{
void test(T param);
}
class TestImpl<T extends TestIntf<T>> implements TestIntf<T>
{
@Override
public void test(T param) { System.out.println(param); }
}
這種失敗:
Class<? extends TestIntf<?>> clz = TestImpl.class;
(類型不匹配:不能從Class<TestImpl>
轉換爲Class<? extends TestIntf<?>>
)
爲什麼?如何正確提供TestImpl
類的參考以匹配Class<? extends TestIntf<?>>
?
如果註釋中需要類引用,該怎麼辦?編譯器在那裏符合類型轉換。 – pingw33n 2010-03-22 12:48:26
@ pingw33n檢查我的更新 – Bozho 2010-03-22 13:09:10
查看Object.getClass的API文檔(粗體位)。 – 2010-03-22 14:26:45