Невозможно разрешить метод getTitle в «Объекте» [дубликат]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Невозможно разрешить метод getTitle в «Объекте» [дубликат]

Сообщение Anonymous »

Итак, я новичок в Java и пытался протестировать обратный метод (в функциональном интерфейсе Comparator) и попробовал его двумя разными подходами. Один использовал его после определения лямбда-выражения (как реализации функции) с использованием ссылки на метод, а другой использовал обычное лямбда-выражение (а не ссылку на метод). Для подхода со ссылкой на метод он работает нормально, но мне было интересно то, что я столкнулся с этой ошибкой (невозможно разрешить метод getTitle в «Объекте»), используя обычный метод. Итак, я видел несколько способов это исправить, но я хочу знать, в чем именно здесь разница и почему это происходит. Кстати, я использую Java Stream. Я оставляю вам код ниже.

Код: Выделить всё

// Movie class is a self defined class that implements Comparable interface

List movies = List.of(
new Movie("b", 20),
new Movie("a", 10),
new Movie("d", 40),
new Movie("c", 30)
);

Stream sortedMovies3 = movies.stream().
sorted(Comparator.comparing(Movie::getTitle).reversed()); //Works fine

Stream sortedMovies2 = movies.stream().
sorted(Comparator.comparing(m -> m.getTitle()).reversed()); // Error

Как я уже упоминал, я видел некоторые исправления, Но не было четкого объяснения.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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