我是Java的新手,有点从C#到Java的过渡。java.util.function
具有定义为Function
的接口(interface),该接口(interface)输入到computeIfAbsent
的Map
方法中。
我想定义该函数并将其委托(delegate)给computeIfAbsent
方法。
map.computeIfAbsent(key, k => new SomeObject())
可以,但是我想要在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/