Змінне число аргументів методів мови java, блог тільки про java

Змінне число аргументів методів мови java, блог тільки про java
Іноді виявляються корисними методи, здатні приймати змінна чис-ло аргументів.

Наприклад, методом, який встановлює з'єднання з Інтернетом, можуть знадобитися ім'я і пароль користувача, ім'я файлу, протокол та інші параметри. Якщо при виклику методу деякі з цих даних опущені, то повинні використовуватися значення за замовчуванням.

У подібних ситуаціях було б зручніше передавати тільки ті аргументи, для яких задані за замовчуванням значення незастосовні, а для цього потрібно метод, який міг би приймати аргументи, кількість яких заздалегідь невідомо.

До версії J2SE5 для підтримки списків аргументів змінної довжини застосо- лись два способи, жоден з яких не був особливо зручний.

По перше. якщо максі-мально можливу кількість аргументів було невелике і наперед відомо, то можна було створювати перевантажені версії методу - по одній для кожного способу його ви-заклику. Очевидно, що такий підхід можна застосовувати лише в окремих випадках.

І по-друге. якщо таких версій потрібно створювати занадто багато або їх максимальне кіль-кість було невизначеним, то застосовувався другий підхід: параметри містилися в масив, а потім цей масив передавався методу.

У кожного з цих способів є свої недоліки, і з часом стало ясно, що для подолання описаної проблеми слід шукати інші рішення.

Таке рішення було запропоновано в JDK 5. Новий засіб, який дозволило хата-витися від явного формування масиву аргументів перед викликом методу, отримало назву varargs (скорочення від variable-length arguments - список аргументів змін-ної довжини).

Відповідні методи називають методами зі змінним числом аргу-ментів (інша назва - методи змінної арності). У методах цього типу список параметрів має не фіксовану, а змінну довжину, що забезпечує додаткового-тільну гнучкість, дозволяючи методам приймати довільне число аргументів.

Користуюся нагодою, хочу запитати аудиторію: чи працювали ви колись з WordPress-ом? Дуже потрібен шаблон ThemeForest Motors. вже дуже сильно він підійде для одного мого проекту. Можу віддячити матеріально.

Використання методів зі змінним числом аргументів

Списки аргументів змінної довжини позначаються символом крапки (...). Нижче наведено приклад методу vaTest (). приймає змінне число аргументів (в тому числі і нульове).