2012-05-03 4 views
6

Можно создать дубликат:
What is the ellipsis (…) for in this method signature?
java: how can i create a function that supports any number of parameters?Основные методы Java с массивами «...»?

хорошо я пытаюсь выяснить некоторые примеры, и я нашел такого рода определение массива аргументов в основном методе. Что такого особенного в этом «...» и в чем разница между нормальным String [] args?

Спасибо

+3

Вероятно, вы имеете в виду варгары: http://stackoverflow.com/questions/4215698/java-how-can-i-create-a-function-that-supports-any-number-of-parameters – birryree

+0

См. Это [* * post **] (http://stackoverflow.com/q/2367398/844882) для получения дополнительной информации о том, как работает elipsis на Java. –

+0

@ Адам, как на самом деле «что ты пробовал», относящийся к вопросу о значении конкретной части синтаксиса? (я имею в виду, я думаю, что этот вопрос должен быть закрыт как дубликат, но «что вы пробовали» кажется совершенно неактуальным) –

ответ

7

Это обозначение Java 5 для списков аргументов переменной длины. Это примерно эквивалентно массиву String, но позволяет передавать индивидуальные параметры, которые автоматически объединяются в массив.

void mymethod(String... a) { 
    for (String s : a) { 
     ... 
    } 
} 

mymethod("quick", "brown", "fox"); 

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

3

elipsis (...) - это varargs. Они используются, когда вы хотите создать метод с любым количеством аргументов. Oracle объясняет, как varargs работают подробно here.

2

Это называется varargs, что означает, что любое количество аргументов может быть передано этого типа (String).

1.it должно быть в конечном положении

2.It будет обработан как массив

1

... используется для списков параметров.

Например

общественное недействительное MyMethod (Object ... PARAMS) {}

Переменная PARAMS является необязательной и рассматриваются как обнуляемый массив объектов.

Смежные вопросы