В моем коде Java я часто использую очень удобные method(Class... args)
varargs. Насколько я знаю, они позволяют передавать любое количество объектов Class
или массив Class[]
. Поскольку я также часто использую классы Java-классов, я разочарован отсутствием совместимости между ними. В результате я заканчиваю тем, что делаю collection.toArray()
, но имеет некоторые проблемы с безопасностью.
Итак, теперь для вопроса: почему Java не разрешает экземпляры Iterable<T>
в качестве аргументов vararg, если общий тип соответствует типу T...
vararg? Не все ли все время используют списки, наборы и т.д.? Есть ли простой и безопасный тип обеспечения преобразования из коллекции в vararg?