當定義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