在java中,将数组传递给带有数组参数的方法和varargs有什么区别?
我已经阅读了一篇关于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);
两者是相同还是存在差异
有没有可能让这两种方法负担过重
# 1 楼答案
这两个方法签名是相同的,它们不允许重载
唯一的区别是允许使用vararg签名调用
doSomething(1, 2, 3)
,而使用数组签名调用doSomething(1, 2, 3)
会导致错误