gpt4 book ai didi

java - 如何修复接收对象数组的静态泛型方法

转载 作者:太空宇宙 更新时间:2023-11-04 09:46:35 26 4
gpt4 key购买 nike

我有一个关于我编写的静态函数的问题,该静态函数接收包含键和值的通用对象数组。当它找到具有相同值的键时,它会添加该键的值;但是,我在使函数静态化时遇到问题。代码如下:

public static<K,V extends Number> void mapSumOfValues(/*Map<K,V> h,*/ DataObject<K, V> []dataarray) {
Map<K,V> h = new HashMap<>();
Integer sum = 0;
for(DataObject<K,V> d: dataarray) {
h.merge(d.getKey(), d.getValue().intValue(), Integer:: sum);
}

我收到错误:

The method merge(K, V, BiFunction) in the type Map is not applicable for the arguments (K, int, Integer::sum)

最佳答案

您的合并功能仅适用于 Integer ,所以你需要一个Map<K, Integer> .

Map<K, Integer> h = new HashMap<>();
for (DataObject<K, V> d : dataarray) {
h.merge(d.getKey(), d.getValue().intValue(), Integer::sum);
}

关于java - 如何修复接收对象数组的静态泛型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55354097/

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