黑马程序员技术交流社区

标题: Object [打印本页]

作者: 李前进    时间: 2014-3-30 15:35
标题: Object

public Object invoke(Object obj,Object... args)

public Object invoke(Object obj,Object[] args)

为什么一个是Object... args,一个是Object[] args呢?两个有什么不同点吗?



作者: osully    时间: 2014-3-30 15:37
1.5新特性  ...就是可变参数..实际上内部封装还是一个数组.
作者: 僚机i    时间: 2014-3-30 16:05
jdk1.5之后,出现了可变参数的新特性, 也就是 ...  对于可变参数,要把可变参数的参数,放在参数列表的末尾。
内部使用的时候,实际上封装了一个数组。
取值的时候,采用数组取值的方式取值,进行数据的操作。
其实两者本质上是没有区别的。。
作者: 小班。    时间: 2014-3-30 19:31

public Object invoke(Object obj,Object... args)
//这个是一种可变参数的方式。例如你调用这个方法,你可以传任意多个参数,如:invoke(1,“s”)/invoke(1,"s","a")/invoke(1,2,3,4,6)等这几种调用方法都是可以的。其实实质上相当于是一个object数组
public Object invoke(Object obj,Object[] args)
//这句的意思就是把参数个数写死了,第一个参数是一个object类型的,第二个参数是一个object类型的数组。

//其实用起来第一个和第二个效果上是差不多的,只是第一种看起来简洁些。


作者: lazy_xia    时间: 2014-3-31 14:37
我觉得本质上没有什么区别就是写法不一 哦 对了这个Object...obj 这个必须放在最后面 否则会报错的     
以上是我的理解不知道啊能帮到你
作者: 枫儿    时间: 2014-4-6 19:30
楼主你好,如果问题已解决,请将帖子改为提问结束,如果没有解决请楼主继续提问,谢谢合作




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2