Bezdepbonusu7Программирование: статьи и ответы

Вопрос

DoInBackground AsyncTask (параметры параметров)

Автор вопроса: dfetter88Ответов: 3

Я не знаком с синтаксисом параметра в doInBackground(Params... params)

Как называется такая штука и как ее использовать?

  • Это поможет вам лучше понять, как работают параметры: developer.android.com /reference/android/os/AsyncTask.html dymmeh 14.06.2011
  • Прочитайте полное описание здесь: stackoverflow.com/questions/6053602/ Kartik Domadiya 14.06.2011

androidparameterssyntaxandroid-asynctask

Ответы

Ответ 1 · рейтинг 59 · Travis

Как сказали devA и VVV, это называется "варарги". По сути, следующие две строки кода эквивалентны:

public void makeLemonade(String[] args) {

и

public void makeLemonade(String... args) {

код внутри метода будет таким же, но при его вызове они будут вызываться по-разному. Первую нужно было бы назвать так:

makeLemonade(new String[]{"lemon1", "lemon2", "lemon3"});

в то время как сигнатура второго метода может иметь от 0 до (предполагаемого) бесконечного числа аргументов, но все они должны быть строковыми аргументами. Все следующие вызовы будут работать:

makeLemonade("lemon1");
makeLemonade("lemon4", "lemon7", "lemon11", "lemon12");
makeLemonade();
// ... etc ...

Тонкое различие между ними заключается в том, что здесь вы можете законно вызывать makeLemonade(), если используете varargs.

Ответ 2 · рейтинг 3 · ngesh

Они называются Var Args.. Точно так же, как массив.. U может передавать несколько элементов и просто получать доступ, например params[0].. и т. д..

Ответ 3 · рейтинг 1 · Sunil Kumar Sahoo

Params... params представляет собой vararg. Он был добавлен в J2SE5.0. Это означает, что вы можете передать любое количество аргументов или указать массив аргументов params[0]

Спасибо, Дипак.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы