http://yourmitra.wordpress.com/2008/09/26/using-java-reflection-to-invoke-a-method-with-array-parameters/

利用java反射机制调用一个本身含有数组参数的方法需要一点点技巧。下面的代码展示了怎么样正确地和错误地使用java反射机制调用这样的方法。

–一个含有这种方法的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反射机制调用含数组参数的方法相关推荐

  1. 利用Java反射机制调用类的私有方法

    利用Java反射机制调用类的私有方法 引言 来吧·展示 参考链接 引言 如何调用其他类的私有方法呢? 可以利用Java的反射机制,去调用其他类的私有方法 来吧·展示 package cn.learn. ...

  2. 利用Java反射机制降低代码圈复杂度

    利用Java反射机制降低代码圈复杂度 在实际的工作中,我遇到了项目里老代码存在圈复杂度过高的问题,在提交代码的时候通不过CI(代码检查)的Lizard复杂度检查,所以迫切需要解决这个问题,运用Java ...

  3. 利用java反射机制进行对象操作

    我们经常使用COMMONS-BEANUTILS包来进行bean的操作,例如从map到bean获从bean到map的映射,那么实现的原理是什么呢,下面举个简单的操作的例子:首先,我建立一个bean pu ...

  4. java 对象复制 反射_利用Java反射机制实现对象相同字段的复制操作

    一.如何实现不同类型对象之间的复制问题? 1.为什么会有这个问题? 近来在进行一个项目开发的时候,为了隐藏后端数据库表结构.同时也为了配合给前端一个更友好的API接口文档(swagger API文档) ...

  5. 利用java反射机制 读取配置文件 实现动态类载入以及动态类型转换

    作者:54dabang 在spring的学习过程之中,我们能够看出通过配置文件来动态管理bean对象的优点(松耦合 能够让零散部分组成一个总体,而这些总体并不在意之间彼此的细节,从而达到了真正的物理上 ...

  6. java invoke 泛型_利用Java反射机制和泛型,全自动解析json

    有啦这个简直,太爽啦, 利用Java 反射机制,利用Class 就可以得到 类的 变量  Field[] fields=cls.getDeclaredFields(); 还可以通过类中 的方法名字 去 ...

  7. 利用java反射机制修改属性值

    利用java反射机制修改属性值 本文将介绍如何利用java反射机制修改属性值,废话不多说,直接上代码 1.新建一个实体类,添加属性test以及获取属性值的方法getTest() public clas ...

  8. java反射机制调用带参数的方法_Java反射机制:跟着代码学反射

    1. 前言 在OOP的世界里,万物皆对象.也就是说,我们可以将任何东西抽象成一个对象. 比如人,可以抽象成一个Person类,通过new Person()来实例化一个对象:再比如鸭子,可以抽象成一个D ...

  9. 转换实体类_利用Java反射机制进行Map和JavaBean间转换

    Java中利用反射进行Map和JavaBean间转换 在日常工作中,有时候我们可能会遇到以下这样的情况发生. 例如: (1)后端接受一个参数Map param(可能是前端form维护的一个对象...) ...

最新文章

  1. 散布矩阵与相关系数的实践应用
  2. PHP eval函数
  3. matplotlib画图中文显示问题
  4. 转自 David dai linux平台 oracle 数据库 安装文档
  5. c语言哪个方法称为程序大门,学会这8个经典小程序,就相当于跨入了C语言大门...
  6. JavaScript 逆向 ( 一 ) --- JavaScript 语法基础
  7. python的固定有没有固定字符_python每次处理固定个数的字符的方法总结
  8. 字符串转数字测试--知识备忘
  9. 我说CMMI2.0之技术解决方案
  10. 人脑(科普类)书籍视屏学习资料推荐(不定时更新)
  11. 解决pdf中翻译外文文献到word参考文献格式错误
  12. 鸿蒙初开三界未立,太子长琴
  13. Spring Boot企业微信点餐系统
  14. WORD中页码变成一样
  15. FROM_GLC的介绍与数据下载教程
  16. WPT2F06-3/TR通用晶体管PNP 设计放大器应用WILLSEM
  17. HR SaaS系统,虎蔓开创云端人力资源管理的领先新模式!
  18. ubuntu虚拟机双网卡无法上网问题
  19. anu - proptypes
  20. 【干货】月入3000的淘客经验分享和总结

热门文章

  1. 投资合伙人股份分配_创业者必看的合伙人股权分配细则
  2. [*CTF2022]web题目复现及wp
  3. Github标星的Chrome 插件,开发者必备
  4. 机器学习中SVM的损失函数,向量积
  5. 小秘谈币:什么是实在的佛系炒币?
  6. linux添加ssh key
  7. Word/WPS 利用邮件合并批量生成文档
  8. 因为这个原因,将谷歌浏览器更换到国产浏览器
  9. 服装进销存管理软件哪个好用?看测评就知道了
  10. FFmpeg基础库编程开发学习笔记——音频常见格式及字幕格式