Android 异步任务';s doInBackground(参数…参数)
我不熟悉Android 异步任务';s doInBackground(参数…参数),android,syntax,parameters,android-asynctask,Android,Syntax,Parameters,Android Asynctask,我不熟悉doInBackground(Params…Params) 这种类型的东西叫什么,我如何利用它?它们被称为Var Args。。就像一个数组。。您可以传递多个项目,只需像参数[0]那样访问即可。。等等正如德瓦和VVV所说,这就是所谓的“瓦拉格”。实际上,以下两行代码是等效的: public void makeLemonade(String[] args) { 及 方法中的代码是相同的,但是当调用它时,它们的调用方式会不同。第一个需要这样称呼: makeLemonade(new Strin
doInBackground(Params…Params)
这种类型的东西叫什么,我如何利用它?它们被称为Var Args。。就像一个数组。。您可以传递多个项目,只需像
参数[0]
那样访问即可。。等等正如德瓦和VVV所说,这就是所谓的“瓦拉格”。实际上,以下两行代码是等效的:
public void makeLemonade(String[] args) {
及
方法中的代码是相同的,但是当调用它时,它们的调用方式会不同。第一个需要这样称呼:
makeLemonade(new String[]{"lemon1", "lemon2", "lemon3"});
虽然第二个方法签名可以有0到(假设)无限多个参数,但它们都必须是字符串参数。以下所有调用都可以工作:
makeLemonade("lemon1");
makeLemonade("lemon4", "lemon7", "lemon11", "lemon12");
makeLemonade();
// ... etc ...
两者之间的细微差别在于,如果使用varargs,您可以在此处合法调用makeLemonade()。。。params表示一个vararg。它是在J2SE5.0中添加的。 这意味着您可以传递任意数量的参数,也可以说参数数组params[0] 谢谢
Deepak这将使您更好地了解参数的工作原理:请阅读此处的完整描述:@Travis您如何指示不传递任何参数?您必须选择随机类型吗?为了指示不传递任何参数,您的方法签名将不包含任何参数,因此在上面看到“public void makeLemonade(String…args)”的地方,您将使用“public void makeLemonade()”。这会告诉编译器不允许任何参数。如果您想用0个参数调用该方法,这是完全有效的,您可以这样做,并调用“makeLemonade()。
makeLemonade("lemon1");
makeLemonade("lemon4", "lemon7", "lemon11", "lemon12");
makeLemonade();
// ... etc ...