直接判断泛型类型参数的类型是不可以的。
需要使用反射。
而直接通过反射获得泛型参数也是不可以的,我们可以通过将该泛型对象传递给一个方法,通过反射该方法,才可以获得。代码如下:
Method Mname = 字节码.getMethod(“调用的方法名”,集合字节码);
Type[] types = Mname.getGenericParameterTypes();
ParameterizedType Ptype = (ParameterizedType)types[0];
Ptype.getRawType(); //获得数据类型。
Ptype.getActualTypeArguments() [x] //获得数据类型定义的泛型类型。
|