Java8 list<object>利用stream求和

java8的stream是一个非常强大的功能,今天遇到List<Object>求和,如果Object是个对象,你可以这么写👇:

int sum = list.stream().mapToLong(User::getAge).sum();

如果你是List<int>,你可以这么写👇:

int sum = list.stream().reduce(Integer::sum).orElse(0);

但如果你是List<Object>,而object又是Integer,你可以这样👇:

Integer o = inventorys.stream().map(String::valueOf).map(Integer::valueOf).reduce(Integer::sum).orElse(0);

解释下最后一行再干嘛:
第一个.map(String::valueOf)是将object转换为string,第二个.map(Integer::valueOf)是将string转为integer,.reduce(Integer::sum)这个是求和;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值