我需要循环槽嵌套对象来验证一些计算。 例如:
Category obj1 = new Category(0, 0, 10, null);
Category obj2 = new Category(2, 3, 6, obj1);
Category obj3 = new Category(2, 2, 4, obj1);
我需要检查以下是否存在父母:总和2(数量 * 价格 = 总计(总和 3(数量 * 价格 = 总计(和总和 2+总和3== 父级总计
前任:(2*2==4((3*3==6( 和 4+6 == 10
如何使用 lambda 和流做到这一点?
public class Category {
private int qty;
private int price;
private int total;
private Category rootCategory;
}
使用 Stream.of
创建Category
流,然后filter
对象 rootCategory
不为 null
int sum = Stream.of(obj1, obj2, obj3)
.filter(o -> Objects.nonNull(o.getRootCategory()))
.mapToInt(c -> c.getQty() * c.getPrice())
.sum();