What are the 3 dots in parameters?/What is a variable arity (…) parameter?
本问题已经有最佳答案,请猛点这里访问。
我想知道EDCOX1 0参数的参数是如何在Java中工作的。例如:
1 2 3 4 | public void method1(boolean... arguments) { //... } |
这是不是像一个
它被称为变量变量,或者简称为var ARGS,在Java 1.5中引入。优点是调用方法时可以传递任意数量的参数。
例如:
1 2 3 4 5 |
上面的方法可以接受下面的所有方法调用。
1 2 3 | method1(true); method1(true, false); method1(true, false, false); |
根据其他答案,它是一个"varargs"参数。它是一个数组。
许多人没有意识到的是两个重要点:
- 您可以调用不带参数的方法:
method1(); 。 - 执行此操作时,参数为空数组
许多人认为如果不指定参数,它将是空的,但不需要进行空检查。
您可以通过如下方式调用空值来强制传递它:
1 | method1((boolean[])null); |
但我说如果有人这样做,就让它爆炸吧。