Многоточечные нотации Java - Varargs

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

public function getURLs(URL... urls){
    for(int i = 0; i < urls.length; i++){
        // walk through array of arguments
    }
}

И используя вот так

getURLs(url1, url2, url3);

где эти аргументы метода неявно преобразуются в URL[] urls

  1. Правильно ли я понял его поведение?
  2. Где документация к этому синтаксису?
  3. Из какой версии JRE (J2ME,J2SE,Dalvik) это поддерживается?

2 ответа

Решение

Да, вот как это работает. Аргументы автоматически помещаются в массив. Аргумент "URL" ведет себя как URL[], Varargs описаны здесь. Они были представлены в Java 1.5, поэтому доступны в J2SE 1.5+ и во всех Android, так как он поддерживает языковые функции Java 1.5+. Никакая версия JavaME/J2ME не поддерживает это.

Синтаксис был введен в Java 5 и называется varargs:

http://download.oracle.com/javase/1,5.0/docs/guide/language/varargs.html

Другие вопросы по тегам