这可能听起来令人困惑,但我想创建一个包含int []的ArrayList。将int []视为对象,还是将其视为与基元相同的方式,并且需要包装和展开值。例如:
ArrayList<int[]> intArrays = new ArrayList<int[]>();
我使用ArrayList的原因是我想它没有一定数量的成员,并且具有未知的最大值。因此,int [] []不起作用。我只需要知道上述内容是否有效。
答案 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[]
数组作为对象