java 反射操作泛型
2019-09-14 14:20
2711 查看
public class emm { public void test01(Map<String,User>map,List<User>list) { System.out.println("test01"); } public Map<String,User> test02() { System.out.println("test02"); return null; } public static void main(String[] args) { try { Method m=emm.class.getMethod("test01", Map.class,List.class); //反射方法 Type[] t=m.getGenericParameterTypes(); //获得带泛型的参数类型,返回的是type类型的数组 for(Type paramType:t) { System.out.println("#"+paramType); if(paramType instanceof ParameterizedType) { //判断是不是一个规范化参数类型 //如果是强制转为规范化带泛型的参数类型,因为可能有多个泛型类型,所以用数组 Type[] genericTypes=((ParameterizedType) paramType).getActualTypeArguments();//获得真正的泛型的类型,String、User for(Type genericType:genericTypes) { System.out.println("泛型类型"+genericType); } } } Method m2=emm.class.getMethod("test02", null); Type returnType=m2.getGenericReturnType(); //获得带泛型的返回类型 if(returnType instanceof ParameterizedType) //判断是不是规范化的带泛型的返回类型 { //强制转换成规范化的带泛型的参数类型 Type[] genericTypes=((ParameterizedType)returnType).getActualTypeArguments(); for(Type genericType:genericTypes) { System.out.println("返回值泛型类型"+genericType); } } }catch(Exception e) { e.printStackTrace(); } } }
相关文章推荐
- Java进阶之reflection(反射机制)——通过反射操作泛型,注解
- 反射机制_提高反射效率_操作泛型_操作注解JAVA213
- Java 反射:Class类,动态加载类获取方法和成员变量构造信息,方法反射的基本操作,集合泛型的本质
- 3.java的hello word.继承.泛型.反射.配置项.数据库操作.lombok
- Java学习提要——方法"反射"基本操作与"绕过泛型"实验
- 黑马程序员--Java基础加强--16.利用反射操作泛型V【通过Constructor反射解析泛型构造方法】【通过Field反射解析泛型成员变量】【个人总结】
- Java300StudyNote(2)反射-常用泛型操作(参数泛型、返回值泛型)
- 黑马程序员--Java基础加强--17.利用反射操作泛型VI【泛型类型变量的语义】【GenericDeclaration接口】【泛型接口TypeVariable】【通过Class反射解析泛型类】
- 黑马程序员--Java基础加强--13.利用反射操作泛型II【TypeVariable】【GenericArrayType】【WildcardType】【Type及其子接口的来历】【个人总结】
- 黑马程序员--Java基础加强--14.利用反射操作泛型III【解析关于泛型类型的细节信息的获取方法】【Method与泛型相关的方法】【个人总结】
- Java反射操作泛型接口
- 黑马程序员--Java基础加强--15.利用反射操作泛型IV【通过反射Method解析泛型方法思路】【通过Method对四种Type子接口类型进行解剖】【使用递归对任意复合泛型类型进行彻底解剖】【个人
- 【Java】反射 & 反射性能 & 反射操作泛型 & 反射操作注解
- 学习笔记——JAVA反射<2>反射机制的效率问题和操作泛型
- 黑马程序员--Java基础加强--12.利用反射操作泛型I【与反射+泛型相关的接口类型综述】【Type】【ParameterizedType】【个人总结】
- java基础-反射3(反射,反射创建对象,操作对象属性,调用对象方法)
- 通过java的反射编写泛型数组
- java反射与各种泛型
- 黑马程序员 Java高新技术-jdk1.5深入反射和泛型
- 23、Java入门—反射之方法反射的基本操作