对下面的test()方法
public class Apple<T> {
public void test(Class<T> clazz) {
TypeReference t1 = new TypeReference<T>() {};
TypeReference t2 = new TypeReference<Bill>(){};
}
}
做如下调用
public static void main(String[] args) {
Apple<Bill> apple = new Apple<Bill>();
apple.test(Bill.class);
}
我期望t1和t2是一样的,但是试验结果并非如此,如何处理泛型与TypeReference,让t1和t2一样呢?
做不到,因为泛型擦除了,所以运行期拿不到T的实际类型,只能拿到T