【发布时间】:2019-07-11 15:09:33
【问题描述】:
我是 Java 新手,有点从 C# 过渡到 Java。
java.util.function 有一个定义为Function 的接口,该接口是Map 的computeIfAbsent 方法的输入。
我想定义该函数并将其委托给computeIfAbsent 方法。
map.computeIfAbsent(key, k => new SomeObject())
工作,但 我希望它与回调 where func. 但问题是Function 需要定义输入参数。如何将其设置为 void 或不带参数。
map.computeIfAbsent(key, func);
【问题讨论】:
-
为什么“函数需要定义输入参数”是个问题?你能描述一下你真正想做的事情吗?
-
我的 computeIfAbsent 在循环中。说(25000)次循环执行。如果我每次都按照传统方法创建 lambda 函数,然后将其传递给 computeIfAbsent 函数。为什么应该始终创建它。我们不能把它存储在函数中并传递它。
-
是的,你可以。如果这是你的问题,你为什么不直接问这个问题,而不是直接问“我如何将它设置为 void 或没有参数”?
标签: java lambda java-8 functional-programming hashmap