Правильная терминология для Object... args - программирование
Подтвердить что ты не робот

Правильная терминология для Object... args

Я работаю на Java и типичным способом задания нескольких аргументов для метода является:

public static void someMethod(String[] args)

Но я видел другой способ несколько раз, даже в стандартной библиотеке Java. Я не знаю, как сослаться на это в разговоре, а googling не очень помогает из-за использования символов.

public static void someMethod(Object... args)

Я знаю, что это позволяет вам вставлять кучу или аргументы в метод, не зная заранее, сколько их может быть, например:

someMethod(String arg1, String arg2, String arg3, ... etc

Как вы относитесь к этой настройке подписи этого типа? Я думаю, что это здорово и удобно, и я хочу объяснить это другим, но я не понимаю, как это сослаться на это. Спасибо.

4b9b3361

Ответ 1

Этот способ выражения аргументов называется varargs и был введен в Java 5.
Вы можете прочитать о них здесь.

Ответ 2

Метод Parameter (Object... args) называется varargs. Попробуйте ссылку.

Ответ 3

Как сказал Кеппил и Стив Бететт, эта функция Java называется varargs.

Если я не ошибаюсь, Джошуа Блох упомянул о том, что для использования varargs используется производительность, и рекомендуется телескопирование и использование метода varargs в качестве улова всех приемников.

public static void someMethod(Object arg) {
    // Do something
}

public static void someMethod(Object arg1, Object arg2) {
    // Do something
}

public static void someMethod(Object arg1, Object arg2, Object arg3) {
    // Do something
}

public static void someMethod(Object ... args) {
    // Do something
}