A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

变长参数和数组,如何变通?
变长参数特性带来了一个强大的概念,可以帮助开发者简化代码。不过变长参数的背后是什么呢?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) { … }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马