我已经阅读了关于java中var-args的注释。我想知道在调用方法时它与数组参数的区别是什么。
public void doSomething(int[] a){
// some logic here
}
public void doSometing(int... a){
// some logic here
}
上述两种方法由
调用int[] x={1,2,3,4,5};
doSomething(x);
它们是相同还是存在一些差异?
是否可以重载这两种方法?
答案 0 :(得分:2)
这两个方法签名是相同的,它们不允许重载。
唯一的区别是允许使用vararg签名调用doSomething(1, 2, 3)
,而使用数组签名调用相同会导致错误。