Lambda 标记“:”上的语法错误:&引用;,分组依据时,AssignmentOperator无效

Lambda 标记“:”上的语法错误:&引用;,分组依据时,AssignmentOperator无效,lambda,java-8,functional-programming,stream,Lambda,Java 8,Functional Programming,Stream,我有这门课: public class MenuPrice { private BigDecimal price; private Date updateDate; } 我想按日期分组 List<MenuPrice> menuPrices = findAll(restaurant); menuPrices .parallelStream() .collect(Collectors.grou

我有这门课:

public class MenuPrice {


    private BigDecimal price;


    private Date updateDate;


}
我想按日期分组

List<MenuPrice> menuPrices = findAll(restaurant);

menuPrices
                .parallelStream()
                .collect(Collectors.groupingBy(MenuPrice::getUpdateDate()));
List menuPrices=findAll(餐厅);
月经初潮
.parallelStream()
.collect(Collectors.groupingBy(MenuPrice::getUpdateDate());
但我有一个编译错误:令牌上的语法错误:::,无效
AssignmentOperator

这是一个简单的语法问题:

.collect(Collectors.groupingBy(MenuPrice::getUpdateDate));
但是,我在其他问题中看到,您(ab)在流中使用
并行
。这可能永远都不是一个好主意,因为您通常需要大量数据才能使并行具有相关性


使用
java.util.Date
也会引发问题;这是一个非常古老的API。。。这尤其奇怪,因为您使用java-8进行流式处理,但它在
java.time
package

中已经提供了更好的类,请在方法引用后去掉括号。另外,创建不存在的方法,不要使用并行流,使用java.time类代替旧的Date类。