我想对整数列表求和.它的工作方式如下,但是语法感觉不正确.代码可以优化吗?
Map<String, Integer> integers;
integers.values().stream().mapToInt(i -> i).sum();
我想对整数列表求和.它的工作方式如下,但是语法感觉不正确.代码可以优化吗?
Map<String, Integer> integers;
integers.values().stream().mapToInt(i -> i).sum();
这将起作用,但i -> i
正在做一些自动拆箱,这就是为什么它"感觉"奇怪.mapToInt
将流转换为IntStream
"的原始int值元素".以下任何一项都能起作用,并能更好地解释编译器使用原始语法在后台执行的操作:
integers.values().stream().mapToInt(i -> i.intValue()).sum();
integers.values().stream().mapToInt(Integer::intValue).sum();