加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java 8和流上的聚合操作

发布时间:2020-12-15 04:16:12 所属栏目:Java 来源:网络整理
导读:当我们使用像filter,mapToInt,sum等方法时 传递给他们lambda表达式我不明白是否操作 方法本身或是我们传递的lambda. 我想知道正确的术语. 我认为lambda是函数,因此我们传递给它的操作 用它来产生结果的方法. 为什么还说过滤器,求和等是使用函数的操作 他们的
当我们使用像filter,mapToInt,sum等方法时
传递给他们lambda表达式我不明白是否操作
方法本身或是我们传递的lambda.

我想知道正确的术语.

我认为lambda是函数,因此我们传递给它的操作
用它来产生结果的方法.

为什么还说过滤器,求和等是使用函数的操作
他们的论点?

这两个都是正确的术语吗?

解决方法

不确定这是否被普遍接受,但我认为这是:

函数是接收参数并生成值的函数,理想情况下没有副作用(但是,这在Java中是不可执行的).如果您想强调数学/功能方面,请使用此选项.

子程序/过程是一段经过命名的代码,可以重复使用它的副作用.

方法是如何用Java实现/编写函数和子例程.不存在不属于某个类的函数或过程.

Java中的lambda表达式是一种在运行中编写方法(一些恰好实现功能接口的匿名类)的方法,同时获得对所述接口的实例的引用.

操作是功能或过程.

所以,取决于你想看它的方式:因为它是关于Java的,你可以把所有东西称为“方法”.但有时你想强调不同的方面.就像你的例子:

filter,sum,etc. are operations that use function as their arguments

在这里,我们可以说:“过滤器是一种将功能接口作为参数引用的方法”,但这会以某种方式改变句子的意图.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读