Java 二维数组浅析:内存分配、引用与值的变化
-
在执行代码的过程中,计算机分配一块内存空间存储数组
array。这块内存空间按照二维数组结构进行组织,首先分配一个长度为 3 的一维数组,然后每个一维数组再分配长度为 2 的一维数组。代码逐行执行,将对应值写入内存空间。 -
array[1][0]的值为 100。在执行array[1] = array[0]时,将array[0]的引用赋予array[1],意味着array[1]和array[0]指向同一个内存空间。因此,修改array[0]的值也会影响到array[1]。当array[0][0]被修改为 100 时,array[1][0]也变为 100。 -
array[0][1]的值为 20。在执行array[0][1] = 20时,将 20 赋予array[0][1]对应的内存空间。尽管后续代码创建了一个长度为 4 的一维数组并赋予array[0],但不会影响array[0][1]的值。所以array[0][1]仍然为 20。
原文地址: https://www.cveoy.top/t/topic/picL 著作权归作者所有。请勿转载和采集!