Params是什么意思......?在android中

时间:2017-01-14 17:29:36

标签: android

我对Android dev很新,所以今天我在android docs

中偶然发现了这段代码
Result doInBackground (Params... params)

Params...的含义是什么?它与Params相同吗?但是当使用Params(没有......)时,它会抛出错误而不是覆盖抽象。

这让我很困惑。

4 个答案:

答案 0 :(得分:7)

这是一个Java概念,称为var args。作为方法参数传递某种类型的数组是糖语法。

所以当你说

Result doInBackground (Integer... args)
{
  Integer [] vals=args;
}

您可以访问该数组中的值。

就AsyncTask的方法而言,您可以将参数类型从Params更改为您需要的类型。 Params只是您需要在实施过程中更改的模板。

答案 1 :(得分:1)

这在Java中称为varargs,是一个params数组,但语法不同。您可以点击here

查看相关文档

同样this问题也有答案。

答案 2 :(得分:1)

AsyncTask是一个有三种方法的类。在OnPreExecute()之后调用DoInBackground()。在某些情况下,onPreExecute可能会返回一些值。 doInBackground()可以使用Params字段捕获此值。 这个参数可以是Int,Strings,Collection,Context。

注意:与onPOstExecute(Params params)类似。此参数是doInBackground中返回的值。

如果你没有任何值可以返回,那么你不需要在这些方法中使用params值。

答案 3 :(得分:1)

Params...这里指的是参数。 ...是表示数组的一种方式。

Result doInBackground (Params... params)

这意味着paramsParams类型的数组。默认情况下,函数doInBackground接收的值存储在params[0]中。有时函数在执行时可能会收到另一个值,它将存储在更高的索引中。

希望能解决你的问题: - )