如何解决这个问题?
错误
地图(功能) 在Stream中无法应用 to(lambda expression>,lambda expression>)
static class C {
int id;
public int getId() {
return id;
}
}
Map<Integer, C> c = Arrays.asList(new C()).stream().collect(Collectors.toMap(c -> c.getId(), c -> c));
答案 0 :(得分:2)
试试这个
Map<Integer, C> map = Arrays.asList(new C())
.stream()
.collect(Collectors.toMap(C::getId, c -> c));
您的示例中的映射是将流中的对象从一个更改为另一个。例如您有C
个对象的流,然后map(c -> c.getId())
会将其更改为Integers
的流。您正在寻找的是collect
功能,它终止了流,并允许您收集&#34;它适用于你试图去的任何物体