¿Es posible usar genéricos al pasar una clase a una función java?Pasar una clase genérica a una función java?
Tenía la esperanza de hacer algo como esto:
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)
}
}
Lo ideal sería que las líneas List.class y ArrayList.class iba a funcionar bien, pero la línea Integer.class podría causar un error de compilación. Podría usar Class
como mi tipo en lugar de T extends Class<List>
, pero luego no captaré el caso Integer.class anterior.
Gracias, exactamente lo que estaba buscando. – rodo
@Bozho http://stackoverflow.com/questions/27413818/cannot-access-class-methods-via-generics – Ava