Многоточечные нотации 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
- Правильно ли я понял его поведение?
- Где документация к этому синтаксису?
- Из какой версии 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