gpt4 book ai didi

java - 需要一个功能接口(interface)来操作 String

转载 作者:行者123 更新时间:2023-11-30 07:44:02 26 4
gpt4 key购买 nike

我必须流过一组键/值对并修改每个键(不是值)以删除前置字符串。我试图在一个声明中做到这一点,但需要一点帮助。

我确定我需要一个 .map() 操作,但我不能完全执行它。这是我尝试任何转换之前的代码:

Map<String, String> properties = configs.stream()
.flatMap(config -> config.getProperties().entrySet().stream())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (left, right) -> right));

所以我天真的解决方案是将 Map.Entry::getKey 包装在 String 函数中,但我收到一个编译错误,指出需要一个功能接口(interface)。是否有我可以在这里使用的开箱即用的东西,或者我真的需要实现我自己的接口(interface)来摆脱字符串吗?

最佳答案

代替

Collectors.toMap(
Map.Entry::getKey,
...

你可以使用

Collectors.toMap(
e -> StringUtils.removeStart(e.getKey(), "prefix to remove"),
...

Collectors.toMap(
e -> e.getKey().substring("prefix to remove".length()),
...

如果您没有 Apache Commons 依赖项

关于java - 需要一个功能接口(interface)来操作 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52860465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com