为什么Java Spec为什么建议将int ...用于形式参数并将int []用于功能接口?

时间:2019-07-29 19:42:35

标签: java lambda jls

JLS12,15.27.1 Lambda参数说:

  

以下lambda参数列表之间没有区别:

     
(int... x) -> BODY
(int[] x) -> BODY
     

无论功能接口的抽象方法是固定变量还是可变变量,都可以使用。 (这与方法覆盖的规则一致。)由于从未直接调用lambda表达式,因此在功能接口使用int...的形式参数中,使用int[]不会对周围环境产生影响程序。在lambda主体中,可变arity参数的处理方式与数组类型的参数一样。

我想问一下导致上述结论的原因是什么? 对周围程序没有影响到底是什么意思?

0 个答案:

没有答案