在java中将arraylist更改为array的列表
我是初学者。你能帮我找出以下程序中的错误吗
import java.util.*;
public class Main
{
public static void main(String[] args) {
ArrayList li = new ArrayList<>();
li.add(1);
li.add(2);
li.add(3);
System.out.println(li.get(1));
int arr[] = new int[li.size()];
for(int i=0; i<li.size(); i++)
{
arr[i] = li.get(i);
}
for(int item:arr)
System.out.println(item);
}
}
在执行上述程序时,我得到以下错误:
Main.java:23: error: incompatible types: Object cannot be converted to int
arr[i] = li.get(i);
# 1 楼答案
您使用的是原始ArrayList,因此它包含
Objects
,而不是Integers
。您不能将Object
类型分配给int
类型,因此当您试图将Object
类型保存到int
数组中时会出现错误将泛型类型参数传递给
ArrayList
,以便编译器知道li
是包含Integers
的ArrayList
改变
到
# 2 楼答案
声明中没有给出ArrayList的类型。因此,这相当于
ArrayList<Object>
,这意味着任何类型的对象都可以添加到arraylist中。有两种方法可以解决这个问题1。在arraylist声明中声明类型
2。将从列表中获取的对象强制转换为int类型