利用Java反射机制调用含数组参数的方法
来源:互联网 发布:怎样学好高中语文知乎 编辑:程序博客网 时间:2024/05/18 15:06
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[]{}包起来
Objectjava.lang.reflect.Method.invoke(Object obj, Object... args) throws IllegalAccessException,IllegalArgumentException,InvocationTargetException
- 利用Java反射机制调用含数组参数的方法
- 利用Java反射机制调用含数组参数的方法
- java的反射机制(含数组参数)
- java的反射机制(含数组参数)
- 利用Java反射机制调用类方法
- 利用Java反射机制调用其他类的main方法
- 利用java反射机制调用类的私有方法
- 利用java反射机制实现自动调用类的方法
- 利用Java反射机制调用其他类的main方法 .
- java如何利用反射机制调用类的私有方法
- 使用JAVA的反射机制反射带有数组参数的私有方法
- 利用JAVA反射机制实现调用私有方法
- 利用java反射机制对方法进行调用
- 利用JAVA反射机制实现调用私有方法
- 利用JAVA反射机制实现调用私有方法 .
- 利用JAVA反射机制实现调用私有方法
- 利用JAVA反射机制实现调用私有方法
- 利用JAVA反射机制实现调用私有方法
- 逝匚途牡霉兔坦智暮墙掌
- 经典SQL语句大全
- C语言的inline关键字和静态函数
- HDU2689 Sort it (树状数组求逆序数)
- getHibernateTemplate().find()方法
- 利用Java反射机制调用含数组参数的方法
- Zookeeper ACL(使用node-zookeeper-client)
- iOS Client 与WebSocket 通信(一)
- socket函数 整理
- Failed to create BuildConfig class的解决方案
- mongodb 多 or and 逻辑查询 python实现
- Jsp out.print() 后台报out has close错误
- HDOJ题目2516 取石子小游戏(博弈)
- 种档胰屏赂腿堪兑槐耘灿