将 int 存储在 ArrayList 中并将其返回原始变量 int - Java

新手上路,请多包涵

我遇到错误,无法找到解决方法。

我将一个 int 添加到 ArrayList。

 int n = 1;
ArrayList list = new ArrayList();
list.add( n );

再往下,我试着把它放回另一个 int 中:

 grid[ y ][ x ] = list.get(0);

我也试过这个:

 grid[ y ][ x ] = (int) list.get(0);

但它不起作用,我收到此错误:

 found   : java.lang.Object
required: int
grid[ y ][ x ] = (int)list.get(0);
                              ^

我希望有一个人可以帮助我。

原文由 Chris 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 382
2 个回答

使用类型参数而不是原始的 ArrayList

 ArrayList<Integer> list = new ArrayList<Integer>();

您得到的错误是因为您无法将 Object 转换为 int ,自动装箱在那里中断。您可以将其转换为 Integer 然后将其自动拆箱为 int ,但使用类型参数是更好的解决方案。

原文由 Michael Borgwardt 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 ArrayList<Integer> 。 When you do list.get() you will get an Integer which you can call intValue() on to get an int

原文由 jornb87 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题