java8的stream是一个非常强大的功能,今天遇到List求和,如果Object是个对象,你可以这么写👇:
int sum = list.stream().mapToLong(User::getAge).sum();
1
如果你是List,你可以这么写👇:
int sum = list.stream().reduce(Integer::sum).orElse(0);
1
但如果你是List,而object又是Integer,你可以这样👇:
Integer o = inventorys.stream().map(String::valueOf).map(Integer::valueOf).reduce(Integer::sum).orElse(0);
1
解释下最后一行再干嘛:
第一个.map(String::valueOf)是将object转换为string,第二个.map(Integer::valueOf)是将string转为integer,.reduce(Integer::sum)这个是求和;
————————————————
版权声明:本文为CSDN博主「灰常biu特佛」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jiafujun_fx/article/details/113524632