将 ArrayList 求和为整数

Sum ArrayList to integer

我正在尝试将 ArrayList 求和为一个整数。

sum += list.get(i); 行我得到一个错误:

The operator += is undefined for the argument type(s) double, Object

JTable j = new JTable(data, columnNames);
List<Object> list = new ArrayList<>();

for (i = 0; i < j.getModel().getRowCount(); i++) {
    list.add(j.getModel().getValueAt(i, 1));
}
int sum = 0;
for (int i = 0; i < list.size(); i++) {
    sum += list.get(i);
}

System.out.println(sum);

如何将 ArrayList 求和为整数?

getValueAt return 一个 Object。如果你知道它是一个 Integer,你需要显式转换它以便 Java 可以这样对待它。例如:

List<Integer> list = new ArrayList<>();
for(i = 0;i<j.getModel().getRowCount();i++)
{
    list.add((Integer) j.getModel().getValueAt(i,1));
}

现在 listList<Integer>list.get 将 return 变成 Integer,而不是 Object,而你的第二个 for 循环应该可以正常工作。

编辑:
根据评论,模型中的值实际上是 String 而不是 Integer。您必须自己将其转换为 Integer

List<Integer> list = new ArrayList<>();
for(i = 0;i<j.getModel().getRowCount();i++)
{
    list.add(Integer.valueOf((String) j.getModel().getValueAt(i,1)));
}