合并数组中有相同属性的对象吗(合并数组中有相同属性的对象吗)

合并数组中有相同属性的对象吗(合并数组中有相同属性的对象吗)p style text align right strong 2024 11 3 strong p 目录 一 情景概述 二 底层原理分析 三 注意事项 我们先来看下面的一段代码 运行后我们不难发现 打印出来的是同一个地址 说明这两个变量指向了同一个数组对象

大家好,我是讯享网,很高兴认识大家。



 <p style="text-align:right;"><strong>2024/11/3</strong></p> 

讯享网

目录

一、情景概述

二、底层原理分析


讯享网

三、注意事项


我们先来看下面的一段代码:

讯享网

运行后我们不难发现,打印出来的是同一个地址,说明这两个变量指向了同一个数组对象。

 

当运行了arr2[1] = 99; 这行代码后,发现arr1[1]打印出来的也是99,这就说明当两个或以上变量指向同一个数组时,一个变量修改了数组对象里的内容,另一个变量过来可以看见最新修改的值。

这就好比小明将家里的钥匙给了小红(相当于int[] arr2 = arr1;),此时小红就可以去小明家拿东西(相当于arr2[1] = 99;),小明回到家会发现东西被取走了(相当于System.out.println(arr1[1]);)

这里只讲解int[] arr2 = arr1;这行代码,具体原理图和其他行的代码就不多赘述,不清楚的看我之前讲过的

int[] arr2 = arr1;arr1会将存储的数组变量的地址拷贝一份给arr2,此时arr2也会通过该地址指向数组对象了,这就是多个变量指向同一个数组的原理。

如果某个数组变量存储的地址是null,那么该变量将不再指向任何数组对象
此时arr[0]或arr.length会出现NullPointerException异常,即空指针异常,常见的异常建议记住,更多异常可以看我这篇:

小讯
上一篇 2025-06-15 23:33
下一篇 2025-05-02 11:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/206116.html