gpt4 book ai didi

java - 使用 Google Collections "No suitable method found for uniqueIndex..."将列表转换为 map (获取类型一致的问题)

转载 作者:行者123 更新时间:2023-11-29 05:19:09 25 4
gpt4 key购买 nike

其中mappedRoles = Maps.uniqueIndex...可以看出Netbeans产生了如下错误:

no suitable method found for uniqueIndex(List<ReducedEntity>,<anonymous java.util.function.Function<ReducedEntity,Integer>>)
method Maps.<K#1,V#1>uniqueIndex(Iterable<V#1>,com.google.common.base.Function<? super V#1,K#1>) is not applicable
(cannot infer type-variable(s) K#1,V#1
(argument mismatch; <anonymous java.util.function.Function<ReducedEntity,Integer>> cannot be converted to com.google.common.base.Function<? super V#1,K#1>...

问题演示:

package com.mycompany.testground;

import com.google.common.collect.Maps;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;

public class Main {
public static void main(String[] args) {
List<ReducedEntity> list = new ArrayList<>();
Map<Integer, ReducedEntity> mappedRoles;
mappedRoles = Maps.uniqueIndex(list, new Function<ReducedEntity, Integer>() {
@Override
public Integer apply(ReducedEntity from) {
return from.getId();
}
});
}
}

为了完整性减少了实体类(但可能没有必要)

package com.mycompany.testground;

public class ReducedEntity {
protected Integer id;
protected String name;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

在遵循此页面上的乔斯回答后创建了以上内容 Java: how to convert a List<?> to a Map<String,?>并且我还无法理解为什么这不起作用,如图所示。

最佳答案

您正在使用 java.util.function.FunctionMaps.uniqueIndex() 方法需要一个 com.google.common.base.Function。修复您的导入。

关于java - 使用 Google Collections "No suitable method found for uniqueIndex..."将列表转换为 map (获取类型一致的问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25473849/

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