Эллипсы в аргументе в Java означают vararg типа.Таким образом, в вашем случае ...
означает, что вы можете передавать любое количество параметров String в методы doInBackground.
Итак, вы можете вызвать этот метод doInBackground("String1", "String2", "String3")
или также doInBackground("String1")
или также doInBackground("String1", "String2", "String3", "String4")
или любой другой формой.
Смотрите здесь http://download.oracle.com/javase/1.5.0/docs/guide/language/varargs.html
Три периода после типа последнего параметра указывают, что последний аргумент может быть передан как массив или как последовательность аргументов.Varargs можно использовать только в последней позиции аргумента.Учитывая новое объявление varargs для MessageFormat.format, вышеуказанный вызов может быть заменен следующим более коротким и более сладким вызовом
, а final
имеет свое обычное значение.Кстати, эта функция доступна в Java5 или новее.
См .: http://www.developer.com/java/other/article.php/3323661
Как упоминалось в двух вышеупомянутых ссылках, это не что иное, как массив сахаров.По сути, когда вы определяете myMethod(T... vararg)
, Java видит его как myMethod(T[] vararg)
.И когда вы звоните, myObj.myMethod(t1, t2, t3, ..., tn)
, Java передает его как myObj.myMethod(new T[]{t1, t2, t3, ..., tn})
.