Не могли бы вы объяснить, почему следующий код компилирует и печатает [1, 2, 3, 4], как и ожидалось. Я использую Java 8.
List nums = Arrays.asList(4, 3, 2, 1);
Collections.sort(nums);
System.out.println(nums);
Как я понимаю, здесь создаются четыре экземпляра Integer. Каждая запись списка содержит ссылку на объект для экземпляра Integer. Так как класс Object не реализует интерфейс Comparable, то Collections.sort должен вызывать ClassCastException или что-то вроде этого, потому что он не может передавать ссылки Object на ссылки Comparable.
Не могли бы вы указать, что мне не хватает?