Dan*_*Dan 9 java lambda grouping java-8
我是lambdas的新手,并且在这行代码中与我做错了相混淆:
HashMap<Date, ArrayList<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate()));
Run Code Online (Sandbox Code Playgroud)
由于循环推断,IntelliJ将无法编译.
Dan*_*Dan 14
经过一些痛苦之后,我已经解决了这个问题,希望这对其他人也有用
你不能使用HashMap或ArrayList - 只需使用接口Map和List,代码应该是:
Map<Date, List<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate));
Run Code Online (Sandbox Code Playgroud)
请注意,当groupingBy中的任何参数与Map声明中的预期值不匹配时,可能会导致此相当通用的消息.
| 归档时间: |
|
| 查看次数: |
7539 次 |
| 最近记录: |