Java8list<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);
解释下最后⼀⾏再⼲嘛:
java stream第⼀个.map(String::valueOf)是将object转换为string,第⼆个.map(Integer::valueOf)是将string转为integer,.reduce(Integer::sum)这个是求和;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论