我是 Java 的新手,有点从 C# 过渡到 Java。
java.util.function
有一个定义为 Function
的接口(interface)这是输入到 computeIfAbsent
Map
的方法| .
我想定义该函数并将其委托(delegate)给 computeIfAbsent
方法。
map.computeIfAbsent(key, k => new SomeObject())
有效,但我希望它带有回调 where func。 但问题是 Function
需要定义输入参数。我怎样才能将它设置为 void
或者没有参数。
map.computeIfAbsent(key, func);
最佳答案
computeIfAbsent
将始终为传递的 Function
提供一个输入参数 - 这将是关键。
因此,就像你可以写的那样:
map.computeIfAbsent(key, k -> new SomeObject());
你也可以这样写(假设你的 Map
的键是一个 String
):
Function<String,SomeObject> func = k -> new SomeObject();
map.computeIfAbsent(key, func);
关于java - 如何将函数作为参数传递给 computeIfAbsent 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54743797/