class Data{
private Mixture mixture;
}
class Mixture{
private Long id;
}
List<Data> datas = dao.list(search);
Map<Long, List<Data>> groupedDatas = datas.parallelStream().collect(Collectors.groupingBy((Data::getMixture)::getId));
这样写编译不通过,如何写Lambda表达式,按照Data属性的mixture的id进行分组
Java 目前对于函数类型的推导还不强大,要实现组合函数,会麻烦一点:
你没法直接写
(Data::getMixture).andThen(Mixture::getId)
,因为 Java 目前还推导不了这个表达式。我目前的看法是上面这样的代码并不直观,建议将函数单独写出来: