8

我想知道...Java 中的参数是如何工作的。例如:

public void method1(boolean... arguments)
{
  //...     
}

这像array吗?我应该如何访问参数?

4

2 回答 2

3

它称为变量参数或简称var-args,在 Java 1.5 中引入。优点是您可以在调用该方法时传递任意数量的参数。

例如:

public void method1(boolean... arguments) throws Exception {
    for(boolean b: arguments){ // iterate over the var-args to get the arguments.
       System.out.println(b);
    }
 }

上面的方法可以接受下面所有的方法调用。

method1(true);
method1(true, false);
method1(true, false, false);
于 2013-02-06T22:10:56.617 回答
0

根据其他答案,它是一个“可变参数”参数。这是一个数组。

很多人没有意识到的是两个重要的点:

  • 您可以带参数调用该方法:method1();
  • 当你这样做时,参数是一个空数组

许多人认为如果您不指定参数,它将为 null,但 null 检查是不必要的。


您可以通过像这样调用它来强制传递一个空值:

method1((boolean[])null);

但我说如果有人这样做,就让它爆炸吧。

于 2013-02-27T23:33:04.637 回答