数组的内存是连续分配的;
int [] array = {1, 2 ,3};
假设数组内存如上图所示,那么当我们增加数组长度时,就可能导致别的变量被覆盖,导致出错。
这时,有人会想,那减少长度也是可以的呀,但是这会出现一个现象,那就是突然,空出来一个内存空间。
如果内存空间一开始就分配好,那么会符合整体布局,这个空间可以和别的空间组合,变成一块更大的空间。
如下图所示:
综合上述原因,Java不允许修改数组长度,这也是Java安全性的体现之一。
大家好,我是知秋君,一个会写博客吟诗的知秋码农。今天说一说为什么Java数组长度不可改变?[通俗易懂],希望能够帮助大家进步!!! 数组的内存是连续分配的; int [] array = {1, 2 ,3}; 假设数组内存如上图所示,那么当我们增加数组长度时,就可能导致别的变量被覆盖,导致出错。 这时,有人会想,那减少长度也是可以的呀,但是这会出现一个现象,那就是突然,空出来一个内存空间。
数组的内存是连续分配的;
int [] array = {1, 2 ,3};
假设数组内存如上图所示,那么当我们增加数组长度时,就可能导致别的变量被覆盖,导致出错。
这时,有人会想,那减少长度也是可以的呀,但是这会出现一个现象,那就是突然,空出来一个内存空间。
如果内存空间一开始就分配好,那么会符合整体布局,这个空间可以和别的空间组合,变成一块更大的空间。
如下图所示:
综合上述原因,Java不允许修改数组长度,这也是Java安全性的体现之一。