java - 如何将函数作为参数传递给 computeIfAbsent 方法?
问题描述
我是 Java 新手,有点从 C# 到 Java 的过渡。
java.util.function
有一个接口定义为Function
它是computeIfAbsent
方法的输入Map
。
我想定义该功能并将其委托给computeIfAbsent
方法。
map.computeIfAbsent(key, k => new SomeObject())
工作,但我想要它与回调哪里 func。但问题是Function
需要定义输入参数。我怎样才能将它设置为void
或没有参数。
map.computeIfAbsent(key, func);
解决方案
computeIfAbsent
将始终具有传递的输入参数Function
-这将是关键。
因此,就像你可以写的那样:
map.computeIfAbsent(key, k -> new SomeObject());
你也可以写(假设你的键Map
是 a String
):
Function<String,SomeObject> func = k -> new SomeObject();
map.computeIfAbsent(key, func);
推荐阅读
- ag-grid-react - 如何更改复选框颜色?AG网格
- jquery - 字体大小根据固定的 div 的宽度和高度减小
- sql-server - SQL Server 将一个表中的 2 列合并为另一个表中的 1 列
- csv - 下载带有动态过滤器值的 csv 文件
- jmeter - 使用 Katalon Studio 进行性能测试
- sql - 消息 8114,级别 16,状态 5,第 31 行将数据类型 varchar 转换为 bigint 时出错
- webgl - 将帧缓冲区数据从一个 WebGLRenderingContext 复制到另一个?
- javascript - 从浏览器的范围中选择所有孩子?
- c# - 如何删除 PropertyGrid 中的默认显示字符串“(集合)”?
- visual-studio-code - Visual Studio Code Terminal 找不到 `lesspipe` 命令