在Java中将多个参数作为单个参数传递

时间:2009-03-18 02:16:07

标签: java parameters

我以前见过它的一个例子,但我从来没有找到任何好的参考资料来处理它。我知道可以传递几个参数,例如,通过将方法定义为

public void aMethod(int...a)  

但我不知道有什么比这更重要的了。我见过一个例子,它返回了通过的平均值。
这是传递参数的过时方式吗?使用它甚至可以接受吗?这样做时的语法究竟是什么? (一些参考资料会很棒)

2 个答案:

答案 0 :(得分:12)

它被称为varargs(来自C语法)。有关概述,请参阅Sun's varargs guide,并使用此JDC Tech Tip了解相关信息。它不是过时的;它被作为一个功能请求放入,因为之前你被迫创建一个数组或列表,这对于支持像C的printf来说真的很难看。

public void myMethod(String... args) {
    for (String aString:args) {
        System.out.println(aString);
    }
}

答案 1 :(得分:-1)

您必须将ints的列表传递给方法才能执行此操作,如下所示:

public void aMethod(int[] list)

或者这个:

public void aMethod(ArrayList<int> list)

如果Java有类似C#的params关键字,那就不错了。