Re[2]: Запихнуть массив в vararg
От: Nortsx  
Дата: 14.05.12 19:02
Оценка:
Здравствуйте, rfq, Вы писали:

rfq>Здравствуйте, Nortsx, Вы писали:


N>>Есть функция которая принимает последовательность вида Integer 1...Integer n , т е вызов этой функции выглядит как


N>>func(Integer1, Integer2 , Integer3, Integer4) и т д.

N>>Как я могу запихнуть туда массив в качестве параметров?

rfq>Вы бы лучше написали, как выглядит сигнатура функции, а не вызов. Если так:


rfq>void func(Integer... args)


rfq>то фактически это


rfq>void func(Integer[] args)


rfq>и подать туда массив в качестве параметров тривиально:


rfq>Integer[] args;

rfq>func(args);

rfq>Разница между (Integer... args) и (Integer[] args) только в том, что в первом случае можно (но не обязательно) вызывать функцию также и с переменным числом параметров. В этом случае компилятор сам добавит код создания массива и инциализации его из параметров.


Я к сожалению плохо владею даром внятно выражать свои мысли.
Сигнатура функции выглядит именно как Integer... args. спасибо всем за помощь, оно работает!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.