java根据方法名称取得反射方法的参数类型示例
更新时间:2014年02月26日 14:24:11 作者:
利用java反射原理调用方法时,常先需要传入方法参数数组才能取得方法。该方法参数数组采用动态取得的方式比较合适
复制代码 代码如下:
/**
* 根据方法名称取得反射方法的参数类型(没有考虑同名重载方法使用时注意)
* @param obj 类实例
* @param methodName 方法名
* @return
* @throws ClassNotFoundException
*/
public static Class[] getMethodParamTypes(Object classInstance,
String methodName) throws ClassNotFoundException{
Class[] paramTypes = null;
Method[] methods = classInstance.getClass().getMethods();//全部方法
for (int i = 0; i< methods.length; i++) {
if(methodName.equals(methods[i].getName())){//和传入方法名匹配
Class[] params = methods[i].getParameterTypes();
paramTypes = new Class[ params.length] ;
for (int j = 0; j < params.length; j++) {
paramTypes[j] = Class.forName(params[j].getName());
}
break;
}
}
return paramTypes;
}
//取得方法测试(Test类大家还是任意写吧,这里不列举了)
Method m = Test.class.newInstance().getClass().getDeclaredMethod("方法名称", getMethodParamTypes(Test.class.newInstance(),"方法名称"));
相关文章
Java LinkedHashSet集合的底层原理和TreeSet集合
LinkedHashSet保证元素有序且唯一,底层通过双链表实现,TreeSet元素不重复且可排序,底层使用红黑树实现排序,自定义类型排序可通过实现Comparable接口或提供Comparator来定义排序规则,适用于需要大量元素快速检索的场景2024-10-10
SpringCloud自定义loadbalancer实现标签路由的详细方案
本文介绍了通过标签路由解决前端开发环境接口调用慢的问题,实现方案包括在本地服务注册元数据、自定义负载均衡器、以及网关配置等步骤,通过环境变量设置标签,网关根据请求头中的标签进行路由,从而实现前后端互不干扰的开发调试,感兴趣的朋友一起看看吧2025-02-02
SpringBoot+Mybatis+Vue 实现商品模块的crud操作
这篇文章主要介绍了SpringBoot+Mybatis+Vue 实现商品模块的crud操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10


最新评论