【问题标题】:what is the difference between passing array to a method with array parameter and var-args in java? [duplicate]将数组传递给带有数组参数的方法和java中的var-args有什么区别? [复制]
【发布时间】:2016-07-09 11:29:28
【问题描述】:

我已经阅读了有关 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, 4, 5);

标签: java arrays overloading method-call


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 2015-08-11
    • 2012-05-22
    • 1970-01-01
    • 2013-06-13
    相关资源
    最近更新 更多