当定义Android中的的AsyncTask和它相关联的方法有出现3个点,如protected Long doInBackground(URL... urls)
的Android的AsyncTask
什么点呢?
当定义Android中的的AsyncTask和它相关联的方法有出现3个点,如protected Long doInBackground(URL... urls)
的Android的AsyncTask
什么点呢?
这不完全是一回事。请看下面的例子
例1:
public String concatenateStrings(String... strings){
StringBuffer sb = new StringBuffer();
for(int i = 0; i < strings.length; i++)
sb.append(strings[i]);
return sb.toString();
}
例2:
public String concatenateStrings2(String[] strings){
StringBuffer sb = new StringBuffer();
for(int i = 0; i < strings.length; i++)
sb.append(strings[i]);
return sb.toString();
}
他们的allmost相同的,对不对?错误的,称它们是最大的区别。第一个示例允许添加未定义数量的字符串。
实施例1:
concantenateStrings("hello", "World", " I ", " can ", " add ", " so ", " many strings here");
实施例2:
Strings[] myStrings = new Strings[7];
myStrings[0] = "Hello";
myStrings[1] = "world";
myStrings[2] = " I ";
...
myStrings[6] = " many strings here";
concatenateStrings2(myStrings);
这不是特定于AsynTask或Android的具体情况。这是一个Java特性,用于将可变长度的参数传递给方法。
看一看: How to create Java method that accepts variable number of arguments?
它的java概念。它看起来像数组。 (并且你主要像处理数组一样处理它)。但是,有些地方有所不同。
您会在android中遇到这种情况,例如,当您使用view animation
或property animation
进行布局时。
这是一个数组,而不是[] – 2012-02-12 23:45:06
所以int []数字和int ...数字意味着同样的事情? – 2012-02-12 23:46:51
是的,我不确定为什么AsyncTask会这样做。 – 2012-02-12 23:48:31