我想对整数列表求和。它的工作原理如下,但是语法不正确。代码可以优化吗?

Map<String, Integer> integers;
integers.values().stream().mapToInt(i -> i).sum();

最佳答案

这将起作用,但是i -> i正在执行一些自动拆箱操作,这就是为什么它“感到”奇怪的原因。以下任何一种方法都可以工作,并且可以使用您的原始语法更好地解释编译器在做什么:

integers.values().stream().mapToInt(i -> i.intValue()).sum();
integers.values().stream().mapToInt(Integer::intValue).sum();

关于java - 如何用Java流求和一个整数列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30125296/

10-09 06:14