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