我不熟悉doInBackground(Params... params)
这种类型的东西叫什么,我该如何利用它?
答案 0 :(得分:56)
正如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()。
答案 1 :(得分:3)
它们被称为Var Args ..就像一个数组..你可以传递多个项目,只需访问params[0]
等..
答案 2 :(得分:1)
Params... params
代表vararg。它是在J2SE5.0中添加的。
这意味着你可以传递任意数量的参数,或者你可以说参数数组params [0]
由于 迪帕克