Java未检查的数组列表转换



谁能告诉我如何创建一个数组数组列表的正确方式?

.File.java:5: warning: [unchecked] unchecked conversion
        ArrayList<myObjectType> myParkingLotArray[] = new ArrayList[3];
                                                 ^
  required: ArrayList<Vehicle>[]
  found:    ArrayList[]
1 warning

我想要一个存储3个数组列表的数组(或任何其他解决方案)。如何将对象添加到数组列表也会很好知道。

ParentArray

  1. ChildArrayList1
  2. ChildArrayList2
  3. 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);

相关内容

  • 没有找到相关文章

最新更新