循环推理java lambda GroupBy
我是lambdas的新手,对这行代码中的错误感到困惑:循环推理java lambda GroupBy,java,lambda,grouping,java-8,Java,Lambda,Grouping,Java 8,我是lambdas的新手,对这行代码中的错误感到困惑: HashMap<Date, ArrayList<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate())); HashMap groupTrades=allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate(
HashMap<Date, ArrayList<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate()));
HashMap groupTrades=allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate());
IntelliJ由于循环推理而无法编译。请尝试删除getTradeDate上的()
HashMap<Date, ArrayList<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate));
HashMap groupTrades=allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate));
这里有一个很好的小概述:在经历了一点痛苦之后,我已经解决了这个问题,希望这对其他人也有用 不能使用HashMap或ArrayList-只需使用接口映射和列表,代码应为:
Map<Date, List<Trade>> groupTrades = allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate));
Map groupTrades=allTrades.stream().collect(Collectors.groupingBy(Trade::getTradeDate));
请注意,当groupingBy中的任何参数与映射声明中的预期参数不匹配时,可能会导致此相当一般的消息。尝试过,但仍然存在相同的问题。我有
Map
和List
接口,但仍然存在相同的问题