🔍 Ответ на задачу про Method References: Неоднозначность 😵💫
Ссылка
1. Как вызов статического метода:
2. Как вызов обычного метода у текущего элемента:
Обе интерпретации идеально подходят под сигнатуру
Вывод:
Возникает ошибка компиляции из-за неоднозначности.
⚡️ Не перепутайте:
В таких случаях используйте обычную лямбду
#java #lambda #methodreference #bug #интервью #java_interview_tasks
Ссылка
Service::process может быть интерпретирована двумя способами:1. Как вызов статического метода:
(Service s) -> Service.process(s).2. Как вызов обычного метода у текущего элемента:
(Service s) -> s.process().Обе интерпретации идеально подходят под сигнатуру
Consumer<Service>, который ожидает forEach. Компилятор не знает, какой метод выбрать.Вывод:
Возникает ошибка компиляции из-за неоднозначности.
⚡️ Не перепутайте:
В таких случаях используйте обычную лямбду
s -> s.process(), чтобы явно указать нужный метод.#java #lambda #methodreference #bug #интервью #java_interview_tasks
🔥5👍2👌1