我收到以下消息
java.util.ArrayList cannot be cast to java.lang.Integer
尝试从嵌套中获取值时
arraylist<Object> listsALL
并将值添加到
list<Integer> listPriceFinal
listPriceFinal.add(Integer.valueOf((Integer)listsALL.get(2)));
listsALL 包含整数、字符串值
示例:
listsALL------------- [[0, 1, 5, 4, 6], [250, 260], [230], [Item 1, Item 2, Item 6], [Item 5, Item 7]]
在尝试使用字符串值时,我没有遇到任何问题。 喜欢
sItems100.add(String.valueOf(listsALL.get(4)));
如何解决或如何处理整数,请任何人帮忙......
最佳答案
当您调用listsALL.get(2)
时,您将获得一个数组。在您的示例中,您将得到 [230]。
这就是错误的原因。您无法将数组 [230] 转换为整数。
相反,您应该获取数组的一个项目。例如:((int[])listsALL.get(2))[0]
所以它会是: listPriceFinal.add(Integer.valueOf( ((int[])listsALL.get(2))[0] ));
如果内部项不是简单的数组,而是ArrayList的,那么你需要使用:
listPriceFinal.add(Integer.valueOf( ((ArrayList)listsALL.get(2)).get(0) ));
关于java - 如何处理从嵌套 ArrayList 获取整数值并将其添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26686581/