gpt4 book ai didi

java - 类型不匹配 : cannot convert from Set to Set
转载 作者:行者123 更新时间:2023-11-30 07:00:09 25 4
gpt4 key购买 nike

我有这个代码

Set<Long> families = humans
.stream()
.flatMap(x -> x.data.stream().map(l -> l.person.id))
.collect(Collectors.toSet());

humans = List<Human> :

public static class Human
{
public List<Data> data = Lists.newArrayList();
}

public static class Data
{
public Person person;
}

public class Person
{
public long id;
public String name;
}

由于此错误,此代码将无法工作:

Type mismatch: cannot convert from Set to Set Why do I have this error? Did I do something wrong?

最佳答案

我不知道为什么会收到错误,但作为解决方法:

Set<Long> families = humans
.stream()
.flatMap(x -> x.data.stream().map(l -> l.person.id)).map(f->(Long) f)
.collect(Collectors.toSet());

或者(感谢@Tunaki):

Set<Long> families = humans
.stream()
.<Long>flatMap(x -> x.data.stream().map(l -> l.person.id))
.collect(Collectors.toSet());

或者我可以只使用循环,在这种情况下比使用流更快。

关于java - 类型不匹配 : cannot convert from Set<Object> to Set<Long>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41064004/

25 4 0