java - java中将数组传递给带有数组参数的方法和var-args有什么区别?

标签 java arrays overloading method-call

我已经阅读了关于 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);

两者是相同的还是存在一些差异?

是否可以重载这两个方法?

最佳答案

这两个方法签名相同,并且不允许重载。

唯一的区别是调用doSomething(1, 2, 3)允许使用 vararg 签名,但使用数组签名调用相同的方法会导致错误。

关于java - java中将数组传递给带有数组参数的方法和var-args有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38281350/

相关文章:

java - 如何使用批处理文件作为 Java 控制台?

java - BufferedInputStream 标记/重置无效标记

javascript - 合并和数量添加 javascript 对象

javascript - 视频阵列不工作

function - TypeScript:函数表达式重载

c++ - 在类模板中重载运算符

java - 小程序 SQL INSERT 在浏览器中不起作用

c - 用输入填充 char 数组,但我不明白输出

java - java中如何编写重载函数

java - 是什么导致了 JVMTI_ERROR_NULL_POINTER?