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类。