我们知道Java是一种OOP语言,从Java 8开始,我们可以使用Lambda。但是我有一些问题,希望有人能给我一些建议。
答案 0 :(得分:0)
Java是一种OOP语言,但是在过去的几年中,Java与许多其他重要语言一样都试图成为更多 FP(例如C ++,并且所有FP支持最近被添加到其中)。
函数式编程的一个核心要素:higher order functions。您可以自行定义“执行某些操作的代码”,然后进行传递。
因此,是的,从严格的OOP角度来看,lambda和闭包看起来很尴尬。但是Java在这里只是遵循特定趋势。
现在,个人观点是:Java这样做是为了保持相关性。 OOP概念是“发明”的,可以解决一组非常具体的问题,并且可以使用FP范例以更好/更优雅的方式表达/解决其他许多问题。