Хотя этот ответ может быть правильным, он не имеет отношения к заданному вопросу.
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 элементов. Есть ли другая причина для этого?