这里使用的技巧是通用超类型的签名存储在子类中,因此可以 在 擦除后保留 下来 。
如果您创建一个匿名子类
new TypeLiteral<List<String>>(){}吉斯可以调用getClass().getGenericSuperclass()它,并得到了
java.lang.reflect.ParameterizedType其上存在的方法
getActualTypeArguments()来获得
List<String>作为一个实例
ParameterizedType。

这里使用的技巧是通用超类型的签名存储在子类中,因此可以 在 擦除后保留 下来 。
如果您创建一个匿名子类
new TypeLiteral<List<String>>(){}吉斯可以调用getClass().getGenericSuperclass()它,并得到了
java.lang.reflect.ParameterizedType其上存在的方法
getActualTypeArguments()来获得
List<String>作为一个实例
ParameterizedType。