Кажется, причина в том, что ArrayList не реализует сам конструктор, а просто делегирует вызов конструктору суперкласса, то есть конструктору AbstractList.Существует много реализаций списков, включая LinkedList, у которых не должно быть конструктора, принимающего массив.
Я думаю, что отсутствие конструктора, принимающего массив, и наличие статического служебного метода в классе Arrays - пример хорошего дизайна и лучшего повторного использования кода.Это верно, что это заставляет нас писать немного более подробный код, но это цена.
Кстати, если вы используете статический import java.util.Arrays
, вы можете затем позвонить asList()
без упоминания массивов, поэтому код не является подробным.