В мире Java после 1.5 ссылочные массивы - это просто детали реализации низкого уровня. Предпочитаю, коллекции.
Если вас интересуют ссылочные массивы, по какой-то особой причине вы будете знать, что они действительно не уживаются с дженериками. Вы не можете (разумно) иметь массив универсального типа, например Comparable<String>
. Это означает, что если бы Arrays.sort
было обобщено аналогично Collections.sort
, оно было бы чрезмерно ограничено.
Из-за особенностей типизации массивов, если вы хотите чрезмерно ограничивать типы, я думаю, sort
можно записать проще, чем Collections.sort
, не жертвуя при этом чем-то существенным.
public static <T extends Comparable<T>> sort(T[] array)
Если вам нужна двоичная совместимость с пре-дженериками, вам понадобится небольшой взлом, чтобы вернуться к подписи Object[]
, аналогично Collections.min
.
public static <T extends Object & Comparable<T>> sort(T[] array)