Comparator.reversed() не компилируется с использованием лямбда-выраженияJAVA

Программисты JAVA общаются здесь
Anonymous
Comparator.reversed() не компилируется с использованием лямбда-выражения

Сообщение Anonymous »

У меня есть список с некоторыми объектами User, и я пытаюсь его отсортировать, но работает только с использованием ссылки на метод, а с лямбда-выражением компилятор выдает ошибку:

List userList = Arrays.asList(u1, u2, u3);
userList.sort(Comparator.comparing(u -> u.getName())); // works
userList.sort(Comparator.comparing(User::getName).reversed()); // works
userList.sort(Comparator.comparing(u -> u.getName()).reversed()); // Compiler error


Ошибка:

com\java8\collectionapi\CollectionTest.java:35: error: cannot find symbol
userList.sort(Comparator.comparing(u -> u.getName()).reversed());
^
symbol: method getName()
location: variable u of type Object
1 error


Подробнее здесь: https://stackoverflow.com/questions/251 ... ing-lambda

Вернуться в «JAVA»