如何获得泛型的“真实”类?
例如:
public class MyClass<T> { public void method(){ //something System.out.println(T.class) //causes a compile error, I wont the class name //something } }
如果T =整数
输出:
java.lang.Integer
如果T =字符串
java.lang.String
谢谢
如果您的类中有一个实例类型T的实例变量,并且碰巧已设置好该变量,则可以打印该变量的类。
public class Test<T> { T var; public static void main(String[] args) { Test<Integer> a = new Test<Integer>(); System.out.println(a.boo()); a.setVar(new Integer(10)); System.out.println(a.boo()); } public String boo() { if (var == null) { return "Don't know yet"; } return var.getClass().getSimpleName(); } public void setVar(T var) { this.var = var; } public T getVar() { return var; } }