Notice: 图1中 int[] arrayC=new int[3] 与下方 arrayC =new int[5] 并不冲突,看下图
我们知道,arrayC只是个名字或者存地址的变量,真正的数组本身在堆里. 那么int[] arrayC=new int[3] 执行时在堆里创建了长度为3的数组 0x666 创建后数组长度是不变的.
当执行arrayC =new int[5] 时实际上是在堆里创建一个新的地址为0x999长度为5的数组,同时将arrayC保存的地址替换为0x999,原本长度为3的数组长度并没有改变,
网友评论