java核心学习(四十一) 反射和泛型

Posted The_shy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java核心学习(四十一) 反射和泛型相关的知识,希望对你有一定的参考价值。

  JDK5以后,Class类增加了泛型功能,从而允许使用泛型来限制Class类,例如String.class的类型是Class<String>,如果Class对应的类暂时未知,则使用Class<?>。通过反射中使用泛型,可以避免使用反射生成的对象需要强制转换类型。

  java对于类型的抽象,有两个类:Type、ParameterizedType ,第一个类单纯的代表各种基本类型和引用类型,而第二个类代表包含泛型的引用类型。

  首先通过getGenericType方法可以获得泛型引用类型的Type对象,然后将之强制转换为ParameterizedType对象,再调用下面两个方法,就可以获得完整的泛型引用类型信息:

    getRawType():返回没有泛型信息的原始引用类型。

    getActualTypeArguments():返回泛型参数的类型。

以上是关于java核心学习(四十一) 反射和泛型的主要内容,如果未能解决你的问题,请参考以下文章

Day642.反射注解和泛型问题 -Java业务开发常见错误

JAVA-反射-暴力反射和泛型擦除

java 反射和泛型-反射来获取泛型信息

java 反射和泛型

反射和泛型的复习

Java:Effective java学习笔记之 优先考虑泛型和泛型方法