循环推理java lambda分组

前端之家收集整理的这篇文章主要介绍了循环推理java lambda分组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我很熟悉lambdas,并且在这行代码中与我所做的错误混淆:
HashMap<Date,ArrayList<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate()));

IntelliJ不会因循环推断而编译.

解决方法

经过一番痛苦,我已经完成了这一切,希望这对他人也是有用的

你不能使用HashMap或者ArrayList – 只要使用接口Map和List,代码应该是:

Map<Date,List<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate));

请注意,在groupBy中的任何参数与Map的声明中预期不相符时,可能会导致相当通用的消息.

原文链接:https://www.f2er.com/java/122319.html

猜你在找的Java相关文章