将int存储在ArrayList中,并将其返回到基本变量int-Java
我遇到了一个错误,无法找到解决方法 我向ArrayList添加一个int将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
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()代码>
谢谢。网格声明是什么样子的?