updateWrapper.set(StatTurnoverHour::getOrderNum, x -> x.getOrderNum() + dto.getOrderNum());updateWrapper.set(StatTurnoverHour::getTurnover, x -> x.getTurnover().add(dto.getMoney()));jdk1.8不支持语法
时间: 2023-12-06 07:45:37 浏览: 42
在 Java 8 中,Lambda 表达式的语法已经支持对函数式接口的直接实现。但是该语法不支持对普通的方法进行直接实现。对于上述代码中的 Lambda 表达式,可以使用匿名内部类的方式来替换:
```
updateWrapper.set(StatTurnoverHour::getOrderNum, new Function<StatTurnoverHour, Integer>() {
@Override
public Integer apply(StatTurnoverHour x) {
return x.getOrderNum() + dto.getOrderNum();
}
});
updateWrapper.set(StatTurnoverHour::getTurnover, new Function<StatTurnoverHour, BigDecimal>() {
@Override
public BigDecimal apply(StatTurnoverHour x) {
return x.getTurnover().add(dto.getMoney());
}
});
```
或者使用方法引用的方式来简化代码:
```
updateWrapper.set(StatTurnoverHour::getOrderNum, x -> x.getOrderNum() + dto.getOrderNum());
updateWrapper.set(StatTurnoverHour::getTurnover, x -> x.getTurnover().add(dto.getMoney()));
```
如果您的 JDK 版本低于 8,可以使用匿名内部类或者普通的方法来实现。