谁能告诉我如何创建一个数组数组列表的正确方式?
.File.java:5: warning: [unchecked] unchecked conversion
ArrayList<myObjectType> myParkingLotArray[] = new ArrayList[3];
^
required: ArrayList<Vehicle>[]
found: ArrayList[]
1 warning
我想要一个存储3个数组列表的数组(或任何其他解决方案)。如何将对象添加到数组列表也会很好知道。
ParentArray
- ChildArrayList1
- ChildArrayList2
- ChildArrayList3
我很高兴得到任何帮助
解决方案:
public class myClass {
ArrayList<myObjectType>[] myArryName= new ArrayList[3];
public void addLists() {
myArryName[0] = new ArrayList<myObjectType>();
myArryName[1] = new ArrayList<myObjectType>();
myArryName[2] = new ArrayList<myObjectType>();
}
}
不能创建一个使用泛型类型的类的数组——请看这里!
没有办法解决这个错误信息。编译器告诉你:这是不可能的!
相反,只需保持一个概念。无论如何,混合数组和列表是没有意义的。直接输入List<List<Vehicle>> parents = new ArrayList<>();
和
List<Vehicle> someChild = new ArrayList<>();
最后做一些像
parents.add(someChild);
可以使用强制转换
ArrayList<myObjectType>[] myParkingLotArray = (ArrayList<myObjectType>[]) new ArrayList[3];
然而,我同意GhostCat你应该尝试使用数组或列表,但不要混合它们。a List<List<myObjectype>>
会更好。
不能创建参数化类型的数组。
你可以这样做:
List [] arrayOfLists = new ArrayList[10];
arrayOfLists[0] = new ArrayList<Vehicle>();
但是不能确定所有的List都是相同类型的List
否则你可以简单地使用List of Lists:
List<List<Vehicle>> listOfLists = new ArrayList<>();
List<Vehicle> list = new ArrayList<>();
listOfLists.add(list);