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

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

public static void someMethod(String[] args)

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

public static void someMethod(Object... args)

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

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

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

3 ответов


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


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


Как Keppil и Стив Бенетт указывает, что эта функция 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
}