JLS12,15.27.1 Lambda参数说:
以下lambda参数列表之间没有区别:
(int... x) -> BODY (int[] x) -> BODY
无论功能接口的抽象方法是固定变量还是可变变量,都可以使用。 (这与方法覆盖的规则一致。)由于从未直接调用lambda表达式,因此在功能接口使用
int...
的形式参数中,使用int[]
不会对周围环境产生影响程序。在lambda主体中,可变arity参数的处理方式与数组类型的参数一样。
我想问一下导致上述结论的原因是什么? 对周围程序没有影响到底是什么意思?