java - 如何在java中获取字节数组列表对象的总和
问题描述
我试图从位置 1 到结束的所有字节数组列表的总和,当我尝试添加时,我得到错误,因为“运算符 + 未定义参数类型 int,对象”
我有一个 finalbyte 数组列表
ArrayList finalbyte = new ArrayList();
finalbyte.add(A);
finalbyte.add(B);
finalbyte.add(C);
finalbyte.add(D);
我正在添加来自不同来源的每个值,Syso 的输出看起来像 {67,8,1,-25,4,2,2,2,2},每次运行的值都不同。现在我正在尝试添加这些值从 {8,1,-25,4,2,2,2,2} 第一到结束位置。
for(int i=0;i<finalbyte.size();i++) {
System.out.println(""+finalbyte.get(i));
value=value+finalbyte.get(i);
}
我想要 sum, value= {from 1st + end of byte list} 和 finalbyte.add(value); 如何添加字节数组值并将其再次添加回字节数组列表?
解决方案
它不明白 finalbyte 是什么类型。很多时候这会更明显,但你所做的要求它知道它需要两个整数来相加,而不是一个整数“对象”
有两种方法可以告诉编译器它是一个整数——当你把它拿出来时,你可以强制转换它:
... +(Integer)finalbyte.get(i);
或者您可以在声明时使用泛型(BY FAR 更好的解决方案):
ArrayList<Integer> finalbyte = new ArrayList<>();
一旦编译器知道它是一个 Integer,它就可以正确地将整数自动拆箱为 int,然后 + 将起作用。
请注意,您的其他操作有效,因为将字符串添加在一起实际上使用 .toString() 方法 - 一种在“对象”本身上定义的方法,因此它始终可用。
推荐阅读
- python-3.x - 从使用 side_effect 引发的异常中捕获打印
- python - Keras中带有掩码矩阵的自定义损失
- javascript - JavaScript代码来计算输入数字的百分比?
- python - Python Selenium 无法在网站上找到“创建新帐户”按钮的元素
- javascript - 使用 vue.js 和 js 获取数组
- python - tensorflow 可以导入,但使用时显示未定义
- bash - 嵌套参数扩展:为什么 ${foo%"$bar"} 合法,而 ${$bar} 不合法?
- java - 您是否也有 Java 和 Jtree 中包含颜色、运动和食物的默认模型
- php - 从表单插入数据的查询条件
- angular - 如何在 Angular 中扩展内置组件?