将 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));
}
现在 list
是 List<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)));
}
我正在尝试将 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));
}
现在 list
是 List<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)));
}