关于List<T> list如何获取泛型T的真实类型

IceRainYWC 发布于 2016/06/21 09:27
阅读 1K+
收藏 1
方法中有一个参数List<T> list,我在方法内部,需要知道T的具体类型,请问,这个T的类型能够获取到吗,如果能,怎么获取?
加载中
1
zheng_pat
zheng_pat

题主想表达的不是这个意思吧?泛型在编译期间是会被擦除掉的,但是仍然可以获取。具体可以参考:

http://ifeve.com/java-reflection-9-generics/

0
zabcd117
zabcd117
简单的类型,Type type = typeof(T)就可以了
0
xpbob
xpbob
反正放进去的类型是你自己设置的,那就用instanceof判断一下就行
_kolnick
_kolnick
就是这么干
0
杰森.金
杰森.金

引用来自“xpbob”的评论

反正放进去的类型是你自己设置的,那就用instanceof判断一下就行
我也是这么干的,具体的还是要看楼上需求
0
你们小宇哥
你们小宇哥
list.get(0).getClass()
echoabss
echoabss
如果此时集合为空,这样会报错吧
显峰哥
对,这个就可以
0
传杰大富豪
传杰大富豪

 Type gtype = field.getGenericType();//field是list type是泛型

Class c = (Class) ((ParameterizedType) gtype).getActualTypeArguments()[0];//格式转换

返回顶部
顶部