将int存储在ArrayList中,并将其返回到基本变量int-Java

将int存储在ArrayList中,并将其返回到基本变量int-Java,java,arraylist,int,Java,Arraylist,Int,我遇到了一个错误,无法找到解决方法 我向ArrayList添加一个int 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 gr

我遇到了一个错误,无法找到解决方法

我向ArrayList添加一个int

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);
                              ^

我希望有人能帮助我。

使用类型参数而不是原始的
数组列表

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

您得到的错误是因为您无法将
对象
强制转换为
int
,因此自动装箱在那里发生故障。您可以将其强制转换为
Integer
,然后将其自动取消绑定为
int
,但使用type参数是一个更好的解决方案。

使用
ArrayList
。当您执行
list.get()
操作时,您将获得一个
Integer
,您可以调用
intValue()
打开它来获得
int
(Integer)列表。get(0)
就可以了。然后,自动取消装箱将自动将其转换为
int
数组列表和数组之间的主要区别是,数组列表只能将对象存储到其中,而不能存储基本数据类型(在您的情况下为整数)。为了解决这个问题,我们使用
ArrayList list=new ArrayList()

谢谢。

网格声明是什么样子的?