如何获取 List<T> list = new ArrayList()中T的类型
时间: 2024-05-08 10:18:30 浏览: 150
C# List<T>用法
可以通过Java中的反射来获取List<T>中的T类型,具体实现代码如下:
```
ParameterizedType pt = (ParameterizedType) list.getClass().getGenericSuperclass();
Class clazz = (Class) pt.getActualTypeArguments()[0];
```
其中,`list.getClass().getGenericSuperclass()`获取List的带泛型的父类,即`ArrayList<T>`,然后通过`getActualTypeArguments()`方法获取内部实际使用的泛型参数类型,对于List<T>来说,只有一个泛型参数类型,所以取第一个即可。最后再通过Class类的对象`clazz`获取T的具体类型。
阅读全文