我是 Java 的初学者并试图获得 ArrayList 中所有元素的总和。我是通过使用一种方法来做的,并在方法中得到这个错误:“二元运算符'+'的错误操作数类型第一种类型:int,第二种类型:Object”我不知道我在这里做错了什么,感谢您的帮助!public static int sumNumbers(<ArrayList> numbers){ int sum = 0; for(int i = 0; i<numbers.size(); i++){ sum+=numbers.get(i); } return sum;}
3 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
正如其他人所指出的,你需要给你ArrayList
一个类型。然后,您可以使用本机流使代码更加紧凑:
ArrayList<Integer> numbers = ... ; numbers.stream().mapToInt(i -> i).sum();
慕田峪9158850
TA贡献1794条经验 获得超7个赞
// create a list
List<Integer> ints = Arrays.asList(1, 2, 3);
// get the sum of the elements in the list
int sum = MathUtils.sum(ints);
暮色呼如
TA贡献1853条经验 获得超9个赞
声明numbers
为ArrayList<Integer> numbers
. 然后Integer
将被拆箱到int
. 现在,您的arraylist
包含objects
可能不是int
s。
目前,numbers.get()
将返回一个object
,并且您不能直接将一个添加object
到一个int
。
您始终可以将元素强制转换为Integer
,但我会推荐第一个选项。
添加回答
举报
0/150
提交
取消