利用Java反射机制调用含数组参数的方法
http://yourmitra.wordpress.com/2008/09/26/using-java-reflection-to-invoke-a-method-with-array-parameters/
–一个含有这种方法的Java类–
public class Dao {
public void Method2(String[] params){
//do something
}
}
– 正确的方法–
public class Test {
public static void main(String[] args) throws Exception{
Class classToCall = Class.forName(“Dao”);
String[] argu ={“1″,”2″};
Method methodToExecute = classToCall.getDeclaredMethod(“Method2″, new Class[]{String[].class});
methodToExecute.invoke(classToCall.newInstance(), new Object[]{argu});
}
}
– 错误的方法,会得到异常 java.lang.IllegalArgumentException: wrong number of arguments—
public class Test {
public static void main(String[] args) throws Exception{
Class classToCall = Class.forName(“Dao”);
String[] argu ={“1″,”2″};
Method methodToExecute = classToCall.getDeclaredMethod(“Method2″, new Class[]{String[].class});
methodToExecute.invoke(classToCall.newInstance(), argu);
}
}
原因:invoke方法的第二个参数接受的是Object数组,并把数组的每一个元素作为方法的一个参数。所以如果某一个参数为数组,要在外面用new Object[]{}包起来
Object java.lang.reflect.Method.invoke(Object obj, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
利用Java反射机制调用含数组参数的方法相关推荐
- 利用Java反射机制调用类的私有方法
利用Java反射机制调用类的私有方法 引言 来吧·展示 参考链接 引言 如何调用其他类的私有方法呢? 可以利用Java的反射机制,去调用其他类的私有方法 来吧·展示 package cn.learn. ...
- 利用Java反射机制降低代码圈复杂度
利用Java反射机制降低代码圈复杂度 在实际的工作中,我遇到了项目里老代码存在圈复杂度过高的问题,在提交代码的时候通不过CI(代码检查)的Lizard复杂度检查,所以迫切需要解决这个问题,运用Java ...
- 利用java反射机制进行对象操作
我们经常使用COMMONS-BEANUTILS包来进行bean的操作,例如从map到bean获从bean到map的映射,那么实现的原理是什么呢,下面举个简单的操作的例子:首先,我建立一个bean pu ...
- java 对象复制 反射_利用Java反射机制实现对象相同字段的复制操作
一.如何实现不同类型对象之间的复制问题? 1.为什么会有这个问题? 近来在进行一个项目开发的时候,为了隐藏后端数据库表结构.同时也为了配合给前端一个更友好的API接口文档(swagger API文档) ...
- 利用java反射机制 读取配置文件 实现动态类载入以及动态类型转换
作者:54dabang 在spring的学习过程之中,我们能够看出通过配置文件来动态管理bean对象的优点(松耦合 能够让零散部分组成一个总体,而这些总体并不在意之间彼此的细节,从而达到了真正的物理上 ...
- java invoke 泛型_利用Java反射机制和泛型,全自动解析json
有啦这个简直,太爽啦, 利用Java 反射机制,利用Class 就可以得到 类的 变量 Field[] fields=cls.getDeclaredFields(); 还可以通过类中 的方法名字 去 ...
- 利用java反射机制修改属性值
利用java反射机制修改属性值 本文将介绍如何利用java反射机制修改属性值,废话不多说,直接上代码 1.新建一个实体类,添加属性test以及获取属性值的方法getTest() public clas ...
- java反射机制调用带参数的方法_Java反射机制:跟着代码学反射
1. 前言 在OOP的世界里,万物皆对象.也就是说,我们可以将任何东西抽象成一个对象. 比如人,可以抽象成一个Person类,通过new Person()来实例化一个对象:再比如鸭子,可以抽象成一个D ...
- 转换实体类_利用Java反射机制进行Map和JavaBean间转换
Java中利用反射进行Map和JavaBean间转换 在日常工作中,有时候我们可能会遇到以下这样的情况发生. 例如: (1)后端接受一个参数Map param(可能是前端form维护的一个对象...) ...
最新文章
- 散布矩阵与相关系数的实践应用
- PHP eval函数
- matplotlib画图中文显示问题
- 转自 David dai linux平台 oracle 数据库 安装文档
- c语言哪个方法称为程序大门,学会这8个经典小程序,就相当于跨入了C语言大门...
- JavaScript 逆向 ( 一 ) --- JavaScript 语法基础
- python的固定有没有固定字符_python每次处理固定个数的字符的方法总结
- 字符串转数字测试--知识备忘
- 我说CMMI2.0之技术解决方案
- 人脑(科普类)书籍视屏学习资料推荐(不定时更新)
- 解决pdf中翻译外文文献到word参考文献格式错误
- 鸿蒙初开三界未立,太子长琴
- Spring Boot企业微信点餐系统
- WORD中页码变成一样
- FROM_GLC的介绍与数据下载教程
- WPT2F06-3/TR通用晶体管PNP 设计放大器应用WILLSEM
- HR SaaS系统,虎蔓开创云端人力资源管理的领先新模式!
- ubuntu虚拟机双网卡无法上网问题
- anu - proptypes
- 【干货】月入3000的淘客经验分享和总结