黑马程序员技术交流社区

标题: 变长参数和数组,如何变通? [打印本页]

作者: 旅人    时间: 2016-3-8 17:44
标题: 变长参数和数组,如何变通?

变长参数和数组,如何变通?

变长参数特性带来了一个强大的概念,可以帮助开发者简化代码。不过变长参数的背后是什么呢?Basically,就是一个数组。
public void calc(int... myInts) {}
calc(1, 2, 3);
编译器会将前面的代码翻译成类似这样:
int[] ints = {1, 2, 3};
calc(ints);
不过这里有两点需要注意:
当心空调用语句,这相当于传递了一个null作为参数。
calc();
等价于
int[] ints = null;
calc(ints);
当然,下面的代码会导致编译错误,因为两条语句是等价的:
public void m1(int[] myInts) { ... }
public void m1(int... myInts) { ... }







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