Java - это язык ООП, но в последние годы Java, как и многие другие важные языки, пытается стать more FP (например, C ++ и вся поддержка FP).это было добавлено в последнее время).
Один основной элемент функционального программирования: функции высшего порядка .«Код, который что-то делает» становится чем-то, что вы можете определить самостоятельно и обойти.
Итак, да, в строгом смысле ООП лямбды и затворы выглядят неловко.Но Java здесь просто следует определенной тенденции.
И, личное мнение сейчас: Java делает это, чтобы оставаться актуальным.Концепция ООП была «изобретена» для решения очень специфического набора проблем, и многие другие проблемы могут быть выражены / решены с помощью парадигм FP гораздо лучше / элегантнее.