参数 为什么还有...号,源代码里的方法也有,这是什么语法
invoke(throwable, new Object[] { cause });这样调用,第二个参数 是个数组对象,如果一个方法有多个参数 ,数组里的参数类型怎么与方法参数匹配,从数组 里第0个到第n个,匹配方法的从左到右的顺序吗
invoke(throwable, new Object[] { cause });这样调用,第二个参数 是个数组对象,如果一个方法有多个参数 ,数组里的参数类型怎么与方法参数匹配,从数组 里第0个到第n个,匹配方法的从左到右的顺序吗
解决方案 »
- 高分求助jmf问题 !!!
- 关于ConcurrentHashMap和 Collections.synchronizedMap(new HashMap)
- 请推荐一个与WebCast的Live Meeting功能相似的网络教学软件{能在线教学,讨论的(外网)},回者有分
- 本人将 jspsmart上传下载组件优化了一下并写成标签,需要的加我EMaill! [email protected]
- 求物业管理软件
- JAVA开发的P2P软件
- StringTokenizer()的问题 (在线等候!)
- 编译通过,执行为什么出现这种错误!Exception in thread "main" java.lang.NoClassDefFoundError: eg1
- 从键盘输入10个字符串 存入数组a中,然后输出这10个字符串中最大字符串和最小字符串。
- JDBC连接工具类并发
- 在Java中,如何监听树的节点的鼠标双击事件?
- java与USB口传输数据
参考
http://blog.csdn.net/wfy1987/archive/2009/03/16/3993468.aspx
method(T...t)
method(T[]t)
这两个等价的,直接在方法体里使用即可,lz的匹配又指的是什么呢?
public static void m2(String... str){
//String...代表传参数的时候可以传任意个String类型的参数,str是相应类型的数组
for(int i=0;i<str.length;i++){
System.out.println(str[i]);
}
}可变长参数类型可以兼容数组参数类型,但是数组参数类型不能兼容可变长参数类型。
但是主方法中public static void main(String[] args)中传给主方法的是单个字符串,这是因为java虚拟机自动把主方法中的参数包装成了数组。
一个方法最多只能有一个可变长参数,而且该可变长参数还必须是该方法的最后一个参数。
这个方法在哪呢
Method.invoke(Object obj,Object...args) Method是你要执行的方法,obj是执行这个方法的对象(或者说是方法所在的类的实例),args是方法参数,...表示参数个数是可变的,可以是0个,也可以是多个
如果看了反射,这个就会知道的