1、若声明的数组是基本数据类型的数组,那么数组中的各个元素都是基本数据类型而不是对象。例如:
int[] str = new int[100];
在基本数据类型被创建时,计算机会为其在栈上划分存储空间,将数值直接存储于栈内。
2、若声明的是引用类型的数组,数组的各元素都是对象。例如:
Object[] str = new Object[100];
引用数据类型在被创建时,首先会在栈上为其引用(句柄)分配一块内存;但对象具体的信息都存储在堆内存上。栈上面的引用指向堆中对象的地址。