我有一个数组列表,其中添加了以下数字。
ArrayList<Integer> nums = new ArrayList<>();
nums.add(4);
nums.add(19);
nums.add(32);
nums.add(-8);
然后我使用以下代码来迭代列表并在打印之前对它们进行求和。
sum += IntStream.range(0, nums.size()).sum();
System.out.println(sum);
它打印出的值为 6。有谁知道发生了什么或者有人可以解释我在这里做错了什么吗?感谢您抽出宝贵的时间,如果我需要补充任何内容以供澄清,请不要犹豫。
最佳答案
如果是 IntStream.range(0,6),您将获得值 0,1,2,3,4,5,6。您需要使用 nums.stream() 对 ArrayList 中的整数求和
Blockquote
import java.io.*;
import java.util.*;
import java.util.*;
import java.util.stream.IntStream;
public class HelloWorld{
public static void main(String []args){
ArrayList<Integer> nums = new ArrayList<>();
nums.add(4);
nums.add(19);
nums.add(32);
nums.add(-8);
Integer sum = nums.stream()
.mapToInt(Integer::intValue)
.sum();
System.out.println(sum);
}
}
关于java - 为什么我没有得到真正的金额?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60124073/