gpt4 book ai didi

java - Map.merge ..非静态方法不能从静态上下文中引用

转载 作者:行者123 更新时间:2023-11-30 01:57:33 25 4
gpt4 key购买 nike

我有以下代码:

    public List<String> myMethod(){
..
......
Map<String, Module> m1 = new HashMap<>();
Map<String, Module> m2= new HashMap<>();
Set<Map.Entry<String, Module>> entries = m2.entrySet();
for( Map.Entry<String, Module> e : entries){
m1.merge(e.getKey(),e.getValue(),String::concat);
}
.....
}

我在这里收到错误行String::concat,其中包含消息无法从静态上下文引用非静态方法

知道如何解决这个问题吗?

最佳答案

Map::merge 采用 BiFunction 作为其最后一个参数,以合并存在键冲突的值。

您需要找到一种方法来合并两个给定的模块而不是字符串

换句话说,它是:

 m1.merge(e.getKey(),e.getValue(),(Module l, Module r) -> ...);
<小时/>

另一方面,您可以将代码简化为:

m2.forEach((k, v) -> m1.merge(k, v, (Module l, Module r) -> ...));

关于java - Map.merge ..非静态方法不能从静态上下文中引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53883483/

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