我想知道...
的参数在Java中是如何工作的。例如:
public void method1(boolean... arguments)
{
//...
}
这像array
吗?我应该如何访问参数?
它被称为Variable arguments,简称var args。优点是在调用该方法时可以传递任意数量的参数。
例如:
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);
根据其他答案,它是一个"varargs"参数。这是一个数组。
许多人没有意识到的是两点:
- 您可以调用没有参数的方法:
method1();
- 当您这样做时,参数是一个空数组
许多人认为,如果不指定参数,它将为null,但null检查是不必要的。
您可以通过如下调用强制传递一个null:
method1((boolean[])null);
但我说,如果有人这样做,就让它爆炸吧。