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)这个是求和;
本文介绍了使用Java8的Stream API进行不同类型List集合求和的方法,包括如何处理List<Object>中包含Integer类型的特殊情况。
1096

被折叠的 条评论
为什么被折叠?



