最近正好使用到了guava的TypeToken来获取泛型类型
使用方法: return new TypeToken<T>(thisClass) {}.getRawType();
网上冲了一浪,发现关于泛型,有前人给出的总结:
Java泛型有这么一种规律:
位于声明一侧的,源码里写了什么到运行时就能看到什么;
位于使用一侧的,源码里写什么到运行时都没了。
正好印证了TypeToken的实现思路:
先创建一个TypeToken<T>的匿名继承类(属于类的申明),从而 getClass().getGenericSuperclass() 获得T的类型
参考 http://rednaxelafx.iteye.com/blog/586212
原文:https://www.cnblogs.com/niceboat/p/9478976.html