【发布时间】:2025-12-08 09:25:01
【问题描述】:
我正在尝试将 1 添加到二维 ArrayList 中的整数。
我使用set() 方法和element + 1 作为第二个参数,但“+ 1”不起作用。当我检索元素时,它将它定义为一个对象,而不是一个整数。我该如何解决这个问题?
代码:
ArrayList<ArrayList> inventoryList = new ArrayList(
Arrays.asList(new ArrayList<String>(), new ArrayList<Integer>()));
...
(inventoryList.get(1)).set(i, ((inventoryList.get(1)).get(i) + 1));
错误:
Main.java:47: error: bad operand types for binary operator '+'
(inventoryList.get(1)).set(i, ((inventoryList.get(1)).get(i) + 1));
^
我的代码是this ideone page。这段代码是从 python 翻译过来的,我目前正在调试它,所以不用担心其他错误。
【问题讨论】:
-
你试过
ArrayList<ArrayList<Integer>>而不是ArrayList<ArrayList>吗? -
你能出示
inventoryList的声明声明吗? -
它由两个ArrayList组成,一个是字符串,一个是整数,所以
ArrayList<ArrayList<Integer>>不起作用;我做到了ArrayList<ArrayList> inventoryList = new ArrayList( Arrays.asList(new ArrayList<String>(), new ArrayList<Integer>())); -
您的库存应该是
Map<String, Integer>