Construisez votre méthode pour l'accepter.
public <T> void printClassNameAndCreateList(Class<T> className){
//example access 1
System.out.print(className.getName());
//example access 2
ArrayList<T> list = new ArrayList<T>();
//note that if you create a list this way, you will have to cast input
list.add((T)nameOfObject);
}
Appelez la méthode-
printClassNameAndCreateList(SomeClass.class);
Vous pouvez également restreindre le type de classe, par exemple, voici l'une des méthodes d'une bibliothèque que j'ai créée
protected Class postExceptionActivityIn;
protected <T extends PostExceptionActivity> void setPostExceptionActivityIn(Class <T> postExceptionActivityIn) {
this.postExceptionActivityIn = postExceptionActivityIn;
}
Pour plus d'informations, recherchez Reflection et Generics.