反射调用main方法注意事项
来源:互联网 发布:python 计算股票beta 编辑:程序博客网 时间:2024/06/05 19:18
尽管在通过反射调用一个类的main方法是,获取main方法与获取普通方法一样的步骤,但是在调用main方法,传递参数时需要注意。
public class MainRef {public static void main(String[] args) throws Exception{Method method =MainArguments.class.getMethod("main",String[].class);//这种写法会出粗//method.invoke(null, new String[]{"1","2","3"});}}class MainArguments{public static void main(String[] args) {for(String s:args){System.out.println(s);}}}代码中注释掉的那句,按道理没错啊。main方法接收的不就是一个字符串数组么,但是jdk的语法为了向上兼容,我们在把一个字符串数组传递过去的时候,系统会默认认为我们是把参数包裹成一个数组传递过去,得到该数组后,它会把数组按内容进行分割,这样说来,我们代码中传递过去得其实就是三个字符串了,所以会报错。解决办法:
一:
method.invoke(null, new Object[]{new String[]{"1","2","3"}});这样我们把数组包裹进数组,系统获得之后将Object数组拆开,发现是个String数组,就把它当做main方法的参数执行。
二:
method.invoke(null, (Object)new String[]{"1","2","3"});将String字符串强转为Object,这样main方法接收到,一看是一个对象,就不会再进行拆分,则可将该字符串数组传递过去。
0 0
- 反射调用main方法注意事项
- 反射调用main方法
- 反射调用main方法
- java反射调用main方法,private方法实现
- 成员方法的反射:调用类中的main方法
- 利用Java反射机制调用其他类的main方法
- 关于反射带有数组参数的方法的调用(main)
- 利用Java反射机制调用其他类的main方法 .
- 黑马程序员java高新技术篇----通过反射调用main方法
- 黑马程序员-反射调用其他类main方法
- 利用反射调用指向其他类的main方法
- 动态编译_DynamicCompile、反射调用main方法问题JAVA214
- main方法的反射
- 反射main方法
- 反射 类的main方法
- java反射类main方法
- 反射机制-触发main方法
- 通过类名反射调用该类的main方法和成员方法
- Unity3d使用过程中常见的20个问题
- printk
- Ofbiz 入门教程
- 关于djn/directprovider 404找不到路径的问题
- IT之路总结
- 反射调用main方法注意事项
- 微软所有产品突然用不了
- 拼音查找,设计一种机制能够从给定的拼音定位到合适的人名
- 程序员应具备的素质
- rtems连载 1 交叉编译环境制作
- 织梦dede所有标签调用方法大全
- jquery鼠标放上去显示悬浮层(弹出div层)定位
- 我们开发的手机拍照应用"去哪儿"上线了
- MFC 改变控件字体大小