Метод Collections.sort
параметризован T
, что означает, что условие <T extends Comparable<? super T>>
должно быть выполнено. String[]
не соответствует требованию, поскольку не распространяется Comparable
.
Collections.<String[]>sort(new ArrayList<>());
Collections.<String>sort(new ArrayList<>());
Мы используем Collections.sort(List, Comparator)
, когда хотим отсортировать несопоставимые значения.
Collections.sort(new ArrayList<>(), (String[] a1, String[] a2) -> 0);
Collections.<String[]>sort(new ArrayList<>(), (a1, a2) -> 0);
Конечно, вы должны заменить фиктивный компаратор (String[] a1, String[] a2) -> 0
(который просто обрабатывает все элементы одинаково) реальным.