將類傳遞給java函數時可以使用泛型嗎?將泛型類傳遞給java函數?
我希望做這樣的事情:
public static class DoStuff
{
public <T extends Class<List>> void doStuffToList(T className)
{
System.out.println(className);
}
public void test()
{
doStuffToList(List.class); // compiles
doStuffToList(ArrayList.class); // compiler error (undesired behaviour)
doStuffToList(Integer.class); // compiler error (desired behaviour)
}
}
理想的List.class和ArrayList.class線將正常工作,但Integer.class線會導致編譯錯誤。我可以使用Class
作爲我的類型而不是T extends Class<List>
,但是我不會捕獲上面的Integer.class情況。
謝謝,正是我在找的東西。 – rodo 2010-05-18 06:09:33
@Bozho http://stackoverflow.com/questions/27413818/cannot-access-class-methods-via-generics – Ava 2014-12-11 07:36:39