Как объявить переменное количество аргументов метода?
Для передачи в метод переменного количества аргументов, применяют массив, в котором будет храниться нужное количество переменных.
В Java 5 появилась конструкция vararg. В этом случае между типом аргумента произвольной длинны и её именем требуется поставить три точки (…), и можно передавать произвольное количество данных, без предварительной упаковки их в передаваемый массив.
Для компилятора оба эти способа эквивалентны, он превращает аргумент vararg в массив. При вызове метода выполняется неявное создание и заполнение массива.
Переменной vararg может быть только последний передаваемый аргумент.
Vararg может не содержать аргументов. Это может вызвать затруднения при вызове перегруженных методов с vararg. Пусть имеется два перегруженных метода с совместимыми аргументами int и float. При вызове этого метода без аргументов vararg будет вызван метод с int, так как используется с самым специфичным типом. При использовании методов с несовместимыми между собой типами, такими как float и Boolean компилятор выдаст сообщение «Ambguous method call».
Если в качестве vararg использовать generic, то появиться предупреждение: «Possible heap polluton from parameterzed vararg type».
От нуля до работы за 10 месяцев
AI Sprints — обучение профессиям с ИИ
Выберите трек Android, Backend или QA. Дорожная карта от основ до Junior с менторской поддержкой на каждом этапе
- Дорожная карта: чёткий план от азов до трудоустройства — знаете, что делать дальше
- Менторы: код-ревью на каждое задание и карьерные консультации
- Результат: портфолио из проектов и поддержка при поиске работы
AI Challenge — собери чат-бота за 5 дней
Бесплатный марафон по AI-инжинирингу. Cursor + OpenAI, 60 минут в день — без опыта в программировании. К пятнице у вас будет рабочий чат-бот с памятью в браузере.
- Практика с первого дня, без теории «в стол»
- Готовый проект в портфолио к концу недели
- Старт в любой день — учитесь в своём темпе