有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在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) 个答案

  1. # 1 楼答案

    这两个方法签名是相同的,它们不允许重载

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