问题描述
|
我不熟悉ѭ0中的参数语法
这种东西叫什么,我该如何利用呢?
解决方法
正如devA和VVV所说的,这称为“ varargs”。实际上,以下两行代码是等效的:
public void makeLemonade(String[] args) {
和
public void makeLemonade(String... args) {
方法中的代码将是相同的,但是当调用它时,它们将被不同地调用。首先需要这样调用:
makeLemonade(new String[]{\"lemon1\",\"lemon2\",\"lemon3\"});
第二个方法的签名可以具有0到(假定的)无数个参数,但是它们都必须是String参数。以下所有调用均有效:
makeLemonade(\"lemon1\");
makeLemonade(\"lemon4\",\"lemon7\",\"lemon11\",\"lemon12\");
makeLemonade();
// ... etc ...
两者之间的细微差别是,如果您使用的是varargs,则可以在此处合法地调用makeLemonade()。
, 它们被称为Var Args。就像数组一样。U可以传递多个项目并像params[0]
这样访问。
, Params... params
表示可变参数。它是在J2SE5.0中添加的。
这意味着您可以传递任意数量的参数,也可以说参数数组params [0]
谢谢
迪帕克