Java 9 поставляется с convenience factory methods для создания неизменяемых списков. Наконец, создание списка так же просто, как:Что такое перегруженный метод удобства для коллекций в Java 9
List<String> list = List.of("foo", "bar");
Но есть 12 перегруженные версии этого метода, 11 с 0 до 10 элементов, и один с вар арг.
static <E> List<E> of(E... elements)
То же самое и в случае с Set
и Map
.
Поскольку существует метод var args, в чем смысл дополнительных 11 методов?
Я думаю, что var-args создает массив, поэтому другие 11 методов могут пропустить создание дополнительного объекта, и в большинстве случаев будут выполняться 0 - 10 элементов. Есть ли другая причина для этого?
Вы только что ответили на свой собственный вопрос - перегрузка его аргументами 0-10 пропускает ненужные создания массивов. – luk2302
@ luk2302: Да, это я выяснил, но я хотел знать, есть ли другая причина. Наверное, нет. – ares
Хорошо, тогда ответ «нет». – luk2302