我搜索了论坛,但我仍然无法理解以下差异:
1) void sum(5,5,5,6,7,8,9,3,5,3,2,3,6){}
2) void sum(int[] i){}
3) void sum(int... i){}
如果3)可以被视为数组那么1)?
答案 0 :(得分:1)
void sum(5,5,5,6,7,8,9,3,5,3,2,3,6){}
甚至不会编译,因为它不是有效的方法声明
括号中的方法参数列表应该是逗号分隔的输入参数列表,前面是数据类型,括在括号内。
2& 3基本上是相同的,除非您将调用方法sum(5,5,5);
它将不会解析为方法void sum(int[] a ){}
,因为此方法期望int array
作为calle方法参数,而{{1因为它在方法调用中期望可变数量的void sum(int... a){}
类型参数,所以会正常工作。
答案 1 :(得分:0)
2和3基本相同。 3更优雅,因为你不必在调用方法之前创建数组。 Java为你做到了。
如果参数的数量永远不会改变,1就很有用。