Каков наилучший способ передачи неизвестного количества строк в функцию в Java - PullRequest
6 голосов
/ 14 ноября 2010

Я хочу передать различное количество строк в функцию в java, предполагается, что это строки для фильтрации запроса, это может быть 2-4 строки.

Как вы думаете, что будет лучшим способом сделать это?

а) создание перегрузки для одной и той же функции с разным количеством параметров? б) создать новый экземпляр массива строк и передать его функции?

любой другой предпочтительный способ?

спасибо

Ответы [ 3 ]

11 голосов
/ 14 ноября 2010

Java поддерживает списки переменных переменных, так как 1.5 :

public void myMethod(String... values)
{
    for (String val : values)
    {
        // do something
    }
}

Правила просты:

  • Аргумент переменной должен быть последним аргументомподпись метода.
  • Это один аргумент, поэтому все значения будут одного типа.
  • Внутри метода vararg выглядит как массив.
  • При вызове метода,Вы можете передавать отдельные значения или массив.
0 голосов
/ 14 ноября 2010

Вы можете пойти на varargs.http://www.developer.com/java/other/article.php/3323661

0 голосов
/ 14 ноября 2010

Создание перегрузки (a) имеет то преимущество, что вы получите ошибку во время компиляции, если передадите неверное количество строк.

В качестве альтернативы вы можете использовать varargs .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...