相关疑难解决方法(0)

如何使用新的computeIfAbsent函数?

我非常想使用Map.computeIfAbsent,但是因为lambdas在本科课程中已经太长了.

几乎直接来自文档:它给出了一个旧方法的例子:

Map<String, Boolean> whoLetDogsOut = new ConcurrentHashMap<>();
String key = "snoop";
if (whoLetDogsOut.get(key) == null) {
  Boolean isLetOut = tryToLetOut(key);
  if (isLetOut != null)
    map.putIfAbsent(key, isLetOut);
}
Run Code Online (Sandbox Code Playgroud)

而新的方式:

map.computeIfAbsent(key, k -> new Value(f(k)));
Run Code Online (Sandbox Code Playgroud)

但在他们的例子中,我认为我并没有"得到它".我如何转换代码以使用新的lambda表达方式?

java lambda dictionary java-8

98
推荐指数
4
解决办法
12万
查看次数

标签 统计

dictionary ×1

java ×1

java-8 ×1

lambda ×1