当我们使用类似的方法filter
,mapToInt
,sum
,等,并通过他们lambda表达式如果操作方法本身或者是拉姆达我们传递我不明白。
我想知道正确的术语。
我认为lambda是函数,因此是我们传递给使用该函数产生结果的方法的操作。
为什么还表示filter
,sum
等都是操作是使用功能作为他们的论据?
两者都是正确的术语吗?
不知道这是否被普遍接受,但是我认为是这样的:
函数是接收参数并产生值的东西,理想情况下没有副作用(尽管在Java中不是强制执行的)。如果您想强调数学/功能方面,请使用此选项。
子例程/过程是一段已命名的代码,由于其副作用而被重复使用。
一种方法是如何用Java实现/编写函数和子例程。没有任何不属于某个类的函数或过程。
Java中的Lambda表达式是一种动态编写方法(某些匿名类恰巧实现了功能接口)的方法,同时可以获取对该接口实例的引用。
操作是功能或过程。
因此,取决于您要如何看待它:由于它是关于Java的,因此您可以将所有内容称为“方法”。但有时您想强调不同的方面。如您的示例:
过滤,求和等是使用函数作为其参数的运算
在这里,我们可以说:“filter
是一种以对功能接口的引用作为参数的方法”,但这以某种方式改变了句子的意图。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句