黑马程序员技术交流社区

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

作者: BlackHorse001    时间: 2015-9-7 09:07
标题: 变长参数和数组,如何变通
变长参数和数组,如何变通?
变长参数特性带来了一个强大的概念,可以帮助开发者简化代码。不过变长参数的背后是什么呢?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