Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 异步任务';s doInBackground(参数…参数)_Android_Syntax_Parameters_Android Asynctask - Fatal编程技术网

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 ...