ArrayList<String>[] array = new ArrayList<String>[1];
为什么这么写就没问题:
ArrayList<ArrayList<String>> wrapper = new ArrayList<ArrayList<String>>();
ArrayList<String> list = new ArrayList();
list.add("first");
wrapper.add(list);

ArrayList<String>[] result = wrapper.toArray(new ArrayList[1]);
// 这行代码的意思是  将wrapper内的元素存放在 一个新的 ArrayList[] 中
// 所以 如果我直接将代码改成这样是不是也可以? ⬇
ArrayList<String>[] result = new ArrayList[1];
result[0] = new ArrayList<>();
result[0].add("first");

我在网上还找到了这样的写法:

ArrayList<String>[] array = (ArrayList<String>[])new ArrayList[1];
//我是不是可以将"="右侧的代码理解为:
//不管 newArrayList[1] 是否合适 都强行将它改为符合  ArrayList<String>[] 的结构?