将int存储在ArrayList中并将其恢复为原始变量int - Java

Chr*_*ris 7 java int arraylist

我收到错误,无法找到解决方法.

我将一个int添加到ArrayList.

int n = 1;
ArrayList list = new ArrayList();
list.add( n );
Run Code Online (Sandbox Code Playgroud)

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

grid[ y ][ x ] = list.get(0);
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

grid[ y ][ x ] = (int) list.get(0);
Run Code Online (Sandbox Code Playgroud)

但它不起作用,我得到这个错误:

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

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

Mic*_*rdt 10

使用类型参数而不是raw ArrayList:

ArrayList<Integer> list = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)

你得到的错误是因为你不能施放Objectint,自动装箱休息那里.您可以将其转换Integer为自动装箱int,但使用type参数是一个更好的解决方案.


jor*_*b87 7

使用ArrayList<Integer>.当你这样做的时候,list.get()你会得到一个Integer你可以打电话intValue()来获得的int