博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java反射机制二 获取方法的返回值或参数的泛型信息
阅读量:4334 次
发布时间:2019-06-07

本文共 1879 字,大约阅读时间需要 6 分钟。

 在使用反射机制时,我们经常需要知道方法的参数和返回值类型,很简单  ,下面上示例,示例中的两个方法非常相似

 

package deadLockThread;import java.lang.reflect.*;import java.util.*;public class ParmReturnType {	public static void main(String[] args) throws NoSuchMethodException, SecurityException {		// 获取指定方法的返回值泛型信息		System.out.println("----------test02获取返回值类型-------------");		Method method = ParmReturnType.class.getMethod("test02", null);// 根据方法名和参数获取test02方法		Type type = method.getGenericReturnType();// 获取返回值类型		if (type instanceof ParameterizedType) { // 判断获取的类型是否是参数类型			System.out.println(type);			Type[] typesto = ((ParameterizedType) type).getActualTypeArguments();// 强制转型为带参数的泛型类型,			// getActualTypeArguments()方法获取类型中的实际类型,如map
中的 // String,integer因为可能是多个,所以使用数组 for (Type type2 : typesto) { System.out.println("泛型类型" + type2); } } System.out.println("------------------------------------------------------"); // 获取指定方法的参数泛型信息 System.out.println("----------获取指定方法的参数泛型信息-------------"); Method methodtwo = ParmReturnType.class.getMethod("test01", Map.class, List.class); Type[] types = methodtwo.getGenericParameterTypes();// 获取参数,可能是多个,所以是数组 for (Type type2 : types) { if (type2 instanceof ParameterizedType)// 判断获取的类型是否是参数类型 { System.out.println("-------------------------------------------------"); System.out.println(type); Type[] typetwos = ((ParameterizedType) type2).getActualTypeArguments();// 强制转型为带参数的泛型类型, // getActualTypeArguments()方法获取类型中的实际类型,如map
中的 // String,integer因为可能是多个,所以使用数组 for (Type type3 : typetwos) { System.out.println("参数类型" + type3); } } } } // 带参数的方法Test01 public static void test01(Map
map, List
list) { } // 带返回值的方法Test02 public static Map
test02() { return null; }}

 

转载于:https://www.cnblogs.com/sanduweiliangxtx/p/6136436.html

你可能感兴趣的文章
STM32+IAP方案 实现网络升级应用固件
查看>>
用74HC165读8个按键状态
查看>>
jpg转bmp(使用libjpeg)
查看>>
linear-gradient常用实现效果
查看>>
sql语言的一大类 DML 数据的操纵语言
查看>>
VMware黑屏解决方法
查看>>
JS中各种跳转解析
查看>>
JAVA 基础 / 第八课:面向对象 / JAVA类的方法与实例方法
查看>>
Ecust OJ
查看>>
P3384 【模板】树链剖分
查看>>
Thrift源码分析(二)-- 协议和编解码
查看>>
考勤系统之计算工作小时数
查看>>
4.1 分解条件式
查看>>
Equivalent Strings
查看>>
flume handler
查看>>
收藏其他博客园主写的代码,学习加自用。先表示感谢!!!
查看>>
H5 表单标签
查看>>
su 与 su - 区别
查看>>
C语言编程-9_4 字符统计
查看>>
在webconfig中写好连接后,在程序中如何调用?
查看>>