В Эффективная Java J. Bloch упомянул, что использовать метод varargs с примитивными типами было небезопасно. Напротив, у Arrays.asList(1, 2, 4)
был тип возврата List<int[]>
, и это звучит довольно разумно. Теперь я попытался воспроизвести это поведение себя и не мог:Методы Varargs и примитивные типы
Мой вопрос почему тип выводится на List<Integer>
но не List<int[]>
, как он сказал? Означает ли это, что в Java 8 проблема с varargs больше не имеет отношения к делу, и мы можем безопасно использовать их в любом месте, если мы не слишком сильно заботимся о производительности.
Но добавляют переменные аргументы в Java 1.5 тоже, поэтому, если в книге упоминаются varargs, она должна быть Java 5+. – newacct