为什么Java数组长度不可改变?[通俗易懂]

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

大家好,我是知秋君,一个会写博客吟诗的知秋码农。今天说一说为什么Java数组长度不可改变?[通俗易懂],希望能够帮助大家进步!!!

数组的内存是连续分配的;

int [] array = {1, 2 ,3};

假设数组内存如上图所示,那么当我们增加数组长度时,就可能导致别的变量被覆盖,导致出错。

这时,有人会想,那减少长度也是可以的呀,但是这会出现一个现象,那就是突然,空出来一个内存空间。

如果内存空间一开始就分配好,那么会符合整体布局,这个空间可以和别的空间组合,变成一块更大的空间。

如下图所示:

综合上述原因,Java不允许修改数组长度,这也是Java安全性的体现之一。 

知秋君
上一篇 2024-07-03 15:31
下一篇 2024-07-03 15:31

相关推荐