一维数组的扩容步骤:
先拷贝 再添加 再修改数组的指向
Int []a={}; 和int[] a=null; 的区别
对于int[] a={};来说
System.out.println(a); 有地址内容输出,这说明定义一个长度为零的数组他开辟了空间,只不过它里面存的是出了数组值以外的其他信息
System.out.println(a[0]); 会出现数组下标越界的错误。
a[0]访问的是数组中的第一个元素,然而a是一个空数组。
对于int[] a=null来说:
System.out.println(a); 会出现错误 此时什么也不做。
class NullDemo{
public static void main(String[] args){
int[] arr={};//长度是0
System.out.println(arr);//输出数组的首地址
arr=null;
System.out.println(arr);//输出 null
}
}
数组一经创建数组的长度就固定了