这种函数声明是什么意思:void test(String s, Object... args) {}
这种函数声明是什么意思:void test(String s, Object... args) {}
Object后面跟三个 ". "是什么意思啊?
------解决方案--------------------void test() 参数个数不定,但至少还有String s,后面的参数Object可以0或多个,但有个上限。
------解决方案--------------------不定参
1.5新增的
将下面2个方法合二为一
void test(String s, Object args) {}
void test(String s, Object[] args) {}
不过Object[] 应该不存在这种问题
Object[]也是Object
------解决方案--------------------注意,这种声明不是JDK1.5的新功能,并且
void test(String s, Object...args) {}
void test(String s, Object[] args) {}
这两种定义根本就是两码事,是完全不同的概念
======================================================
这种声明就是Java 1.5的新特性
两种定义虽然不是同一回事,但传递进来的Object...参数确实被放进了一个Object[]数组中
所以功能上两者是一样的,只不过调用的格式不一样而已