Передача нескольких параметров как одного параметра в Java - PullRequest
2 голосов
/ 18 марта 2009

Я видел пример этого раньше, но я никогда не нашел хорошего справочного материала, касающегося этого. Я знаю, что можно передать несколько параметров, например, целые, определив метод как

public void aMethod(int...a)  

Но я не знаю больше об этом, чем это. Я видел пример, и он возвратил среднее число переданных целых.
Это устаревший способ передачи параметров? Это даже приемлемо использовать это? Какой именно синтаксис используется при этом? (Некоторые справочные материалы будут великолепны)

Ответы [ 2 ]

12 голосов
/ 18 марта 2009

Это называется varargs (из синтаксиса C). См. Руководство Sun varargs для обзора и этот Технический совет JDC для использования. Это не устарело; он был введен как запрос функции, так как ранее вы были вынуждены создать массив или список, который был действительно уродлив для поддержки чего-то вроде printf языка C.

public void myMethod(String... args) {
    for (String aString:args) {
        System.out.println(aString);
    }
}
0 голосов
/ 18 марта 2009

Вы должны будете передать список ints методу, чтобы сделать это, что-то вроде этого:

public void aMethod(int[] list)

или это:

public void aMethod(ArrayList<int> list)

Было бы неплохо, если бы в Java было что-то вроде ключевого слова C # params, но это не так.

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