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

合并数组中有相同属性的对象吗(合并数组中有相同属性的对象吗)2024 11 3 目录 一 情景概述 二 底层原理分析 三 注意事项 我们先来看下面的一段代码 运行后我们不难发现 打印出来的是同一个地址 说明这两个变量指向了同一个数组对象 当运行了 arr2 1 99 这行代码后 发现 arr1 1 打印出来的也是 99 这就说明当两个或以上变量指向同一个数组时 一个变量修改了数组对象里的内容 另一个变量过来可以看见最新修改的值



2024/11/3

目录

一、情景概述

二、底层原理分析

三、注意事项


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

 

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

 

当运行了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异常,即空指针异常,常见的异常建议记住,更多异常可以看我这篇:

今天的文章 合并数组中有相同属性的对象吗(合并数组中有相同属性的对象吗)分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-03 14:06
下一篇 2024-12-03 14:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/73285.html