当前位置:网站首页 > 编程语言 > 正文

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



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

到此这篇合并数组中有相同属性的对象吗(合并数组中有相同属性的对象吗)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pem文件怎么打开(.pem文件)2025-07-11 11:09:07
  • 颜色代码黑色怎么调(颜色代码黑色怎么调回来)2025-07-11 11:09:07
  • 指数与对数讲解(指数与对数的关系是什么)2025-07-11 11:09:07
  • hpp是什么文件(hpp是什么文件类型)2025-07-11 11:09:07
  • 手机steam怎么扫描二维码登录不了(手机steam怎么扫描二维码登录不了)2025-07-11 11:09:07
  • 回环地址还是环回地址(回环地址作用)2025-07-11 11:09:07
  • 查看文件权限信息(怎么检查文件权限)2025-07-11 11:09:07
  • 来自远方的作品集新文(来自远方的新小说)2025-07-11 11:09:07
  • github 免费代理(git 走代理)2025-07-11 11:09:07
  • 返回上级目录可选用()(返回上一层目录使用下面哪个指令)2025-07-11 11:09:07
  • 全屏图片