51,410
社区成员
发帖
与我相关
我的任务
分享public <T> T function(){}方法大概是这样的,我需要在方法里面获取泛型T的实际类类型(T.Class),不知道要怎么获取。我先是上网查了一下,好像是说java泛型有一个类型擦除的过程,导致无法获取泛型的类类型,不是很懂,有没有人解释一下。
public static <T> T function(Class<T> clazz) throws IllegalAccessException, InstantiationException {
T object = clazz.newInstance();
return object;
}
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
Person person = function(Person.class);
System.out.println(person.getName());
Animal animal = function(Animal.class);
System.out.println(animal.getName());
}