int array1 [] = {1,2,3,4,5};
int array2 [] = {array1,2,3,4,5};
现在,我想访问array2中array1的第一个元素。
int temp = array2 [0]。[0];
这有什么问题?
答案 0 :(得分:3)
虽然这样可行:
public class ObjectArray {
public static void main(String[] args) {
Object[] array1 = {1, 2, 3, 4, 5};
Object[] array2 = {array1, 3, 4, 5};
System.out.println(((Object[])array2[0])[0]);
}
}
这是一个可怕的想法......基本上要完成你需要的东西你必须使用基础对象类型,因为你没有任何类型的继承混合类型。并且您必须将对象强制转换为适当的类型以使其可用。
答案 1 :(得分:0)
@EricFernandes定义整数数组时
int []a=new int[1];
您告诉编译器您的数组由整数类型元素组成,尽管您始终可以将它们类型转换为对象类型,但如果您想使用您所说的功能,则可能;虽然更清洁和更好的版本将使用arraylists的arraylist(以这种方式你将能够实现你的想法以及动态数组)。
ArrayList<ArrayList<Integer>> al=new ArrayList<>();
ArrayList<Integer> a=new ArrayList<>();
a.add(1);
a.add(2);
a.add(3);
a.add(4);
a.add(5);
al.add(a);
al.add((new ArrayList<Integer>()).add(1));
al.add((new ArrayList<Integer>()).add(2));
al.add((new ArrayList<Integer>()).add(3));
al.add((new ArrayList<Integer>()).add(4));
al.add((new ArrayList<Integer>()).add(5));
Iterator it=al.iterator();
System.out.println(al.get(0).get(0));