Занятие от 29.11.2021
Что было:
Определение, каким образом проверяется на совместимость lambda выражение vs functional interface:
1) Количество параметров
2) Тип параметров
3) Возвращаемый тип параметров
+ дополнительно для компиляции — генерируемые исключения: если генерируются, то должны быть наследниками (два пути — либо обрабатывать внутри, либо делать user-defined functional interfaces)
Способы решения проблем при overloads method call sites (poly expressions):
1) заводить отдельные методы с разным количеством параметров
2) заводить отдельные методы с disambiguating параметрами
Способ решения проблем при method reference overloads (inexact method references):
1) преобразовать в lambda / прописать exact method
2) для generic — witness types (указать, какие type parameters передаются)
3) кастовать к определенному типу
Streams: начало
Какие вопросы остались:
Что улучшить, изменить:
1) убрать отвлечение