老师,关于 Collectors.groupingBy 这个方法点进去,它涉及的泛型我看的云里雾里,可以简单的说下嘛?

来源:3-28 实战案例四:分组

小蜗牛有大理想

2020-05-21

老师,关于 Collectors.groupingBy 这个方法点进去,它涉及的泛型我看的云里雾里,可以简单的说下嘛?
问题:1 参数数量不一样
2 泛型结合lambda表达式一起看的不明白

public static <T, K> Collector<T, ?, Map<K, List<T>>>
groupingBy(Function<*? super T, ? extends K*> classifier) {
    return groupingBy(classifier, toList());
}
写回答

1回答

张小喜

2020-05-24

可以这样:

首先,泛型是为了让这个方法更通用,我们在分析时不妨先将泛型替换成咱们要分析的真实类型,这样对于泛型的问题就解决了。

然后,对于Lambda表达式,它的本质就是一个代码片段,我们就可以将一个Lambda还原成代码片段。

这样就可以屏蔽掉相关的干扰。

你可以找个简单点儿的功能,试着分析一下,记录好每一步的分析步骤,咱们再交流。

0
0

Java高效编程技巧实践 告别996

可以改变的编程效率

1451 学习 · 326 问题

查看课程