sum*_*rma 8 java arrays collections
我正在尝试创建一个集合数组,如下所示.
ArrayList<Integer> ar[]=new ArrayList<Integer>[50];
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误 - > 通用数组创建 可以任何人解释我为什么?
您无法创建泛型类型的数组.改为使用集合集合:
ArrayList<ArrayList<Integer>> = new ArrayList<ArrayList<Integer>>();
Run Code Online (Sandbox Code Playgroud)
为什么我们不能创建一个泛型类型的数组?数组在内部存储它们的确切类型,但由于运行时类型擦除,因此不存在泛型类型.因此,为了防止您被这种愚弄(参见下面的示例),您无法创建泛型类型的数组:
//THIS CODE WILL NOT COMPILE
ArrayList<Integer>[] arr = new ArrayList<Integer>[5];
Object[] obj = arr;
obj[0] = new ArrayList<Long>(); //no one is safe
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
185 次 |
最近记录: |