有一个问题,当我在Java中使用流映射时,我必须显式地使用lambda.假设我有这个映射器函数:

public static Integer mapFunction(Integer number){
    return number + 3;
}

然后我想把它应用于某个列表,我必须这样做:

myList.stream().map(element -> mapFunction(element))

所以我的问题是,我是否可以做一些类似于在JavaScript中可以做的事情,比如

myList.map(mapFunction)

比如直接将函数传递给它,而不必显式地告诉它 for each 元素这样做.

提前谢谢!

推荐答案

它不会与您编写的Java脚本语法完全相同,但您可以使用方法引用而不是lambda声明来指示迭代所有元素

myList.stream().map(MyClass::mapFunction)

您必须在这里使用stream(),因为map()函数是在Stream类中定义的

Javascript相关问答推荐

jsfat的黑色画布输出

如何在react + react路由域名中使用DeliverBrowserRouter?

获取最接近的父项(即自定义元素)

React存档iframe点击行为

使用json文件字符串来enum显示类型字符串无法按照计算的enum成员值的要求分配给类型号

fs. writeFile()vs fs.writeFile()vs fs.appendFile()

防止用户在selectizeInput中取消 Select 选项

网页自检测外部元素无法加载

判断表格单元格中是否存在文本框

引用在HTMLAttributes<;HTMLDivElement>;中不可用

如何添加绘图条形图图例单击角形事件

我在我的Java代码中遇到了问题,代码的一部分看不到先前定义的对象

在open shadow—root中匹配时,使用jQuery删除一个封闭的div类

Ember.js 5.4更新会话存储时如何更新组件变量

如果Arrow函数返回函数,而不是为useEffect返回NULL,则会出现错误

如何在使用rhandsontable生成表时扩展数字输入验证?

为什么这个.add.group({})在教程中运行得很好,但在我的游戏中就不行了?

为什么当我更新数据库时,我的所有组件都重新呈现?

与svg相反;S getPointAtLength(D)-我想要getLengthAtPoint(x,y)

使用jQuery find()获取元素的属性