参数是ArrayList <T>
如何获取T的className
public static <T extends Object> void test(ArrayList<T> list){
T temp;
Class classType=temp.getClass();
System.out.println(classType.getName());
}
Run Code Online (Sandbox Code Playgroud)
编译失败的原因是:本地变量temp可能尚未初始化.
但是如何获取模板类的className.
你无法获得通用类型.这是由于如何在Java中实现泛型(使用类型擦除).基本上,您只能在编译时使用泛型来捕获类型错误.
您的代码无法编译,因为您正在尝试调用getClass
尚未初始化的局部变量.
你可以做的是:
Class<T>
除了列表之外还传入一个参数来告诉方法有关要使用的类型 归档时间: |
|
查看次数: |
2696 次 |
最近记录: |