如何创建基元数组的ArrayList

时间:2014-05-15 20:49:16

标签: java arrays arraylist primitive

这可能听起来令人困惑,但我想创建一个包含int []的ArrayList。将int []视为对象,还是将其视为与基元相同的方式,并且需要包装和展开值。例如:

ArrayList<int[]> intArrays = new ArrayList<int[]>();

我使用ArrayList的原因是我想它没有一定数量的成员,并且具有未知的最大值。因此,int [] []不起作用。我只需要知道上述内容是否有效。

5 个答案:

答案 0 :(得分:2)

你可以做到这一点没问题。以下编译正常:

    ArrayList<int[]> x = new ArrayList<int[]>();
    x.add(new int[10]);

int[]是一个对象,您可以使用对象完成所有操作,包括获取类名(Class a = int[].class)。

答案 1 :(得分:0)

是的,您可以拥有包含ArrayList元素的int[] int[]Object。所以,是的,你可以做到这一点。

int[] x = {1,2,3};
System.out.println(x instanceof Object);

答案 2 :(得分:0)

您可以尝试使用

ArrayList<ArrayList<Integer>> intArrays = new ArrayList<ArrayList<Integer>>();

答案 3 :(得分:0)

是的,您可以拥有一个包含对象数组的ArrayList。

ArrayList<int[]> intArrays = new ArrayList<int[]>();
int[] arr = { 1,2,3 };
intArrays.add(arr);


  

每个数组都有一个关联的Class对象,与具有相同组件类型的所有其他数组共享。数组类型的直接超类是Object。

您可以在此处找到有关阵列的更多信息:Arrays - Java Language Specification

答案 4 :(得分:0)

您可以使用ArrayList<ArrayList<Integer>>作为int基本类型的包装类,也可以使用int[]数组作为对象