[Ljava.lang.Object; 无法转换为[Ljava.util.ArrayList;

Bpa*_*che 7 java

在我的java代码中,我尝试构建一个arraylist列表,我的代码如下,

private ArrayList<Integer>[] listoflist;
listoflist = (ArrayList<Integer>[]) new Object[875715];
Run Code Online (Sandbox Code Playgroud)

但是,当我编译代码时,编译器一直这么说

[Ljava.lang.Object; 无法转换为[Ljava.util.ArrayList;

我可以问为什么我不能将Object []转换为ArrayList []?

Rik*_*ing 4

您说您正在尝试构建 ArrayList 列表。但是...您正在尝试使用数组来做到这一点...为什么不直接使用另一个 ArrayList 呢?其实很简单:

private List<List<Integer>> listoflist = new ArrayList<ArrayList<Integer>>();
Run Code Online (Sandbox Code Playgroud)

这是使用它的示例:

ArrayList<Integer> list1 = new ArrayList<Integer>();
list1.add(Integer.valueOf(3));
list1.add(Integer.valueOf(4));
ArrayList<Integer> list2 = new ArrayList<Integer>();
list2.add(Integer.valueOf(6));
list2.add(Integer.valueOf(7));
listoflist.add(list1);
listoflist.add(list2);
Run Code Online (Sandbox Code Playgroud)

说这么多ArrayList<ArrayList<Integer>>次有点奇怪,所以在 Java 7 中,构造可以是这样的new ArrayList<>();(它从您分配给它的变量推断类型)。