XingYunLuoYan 2023-04-05 14:53 采纳率: 66.7%
浏览 14
已结题

关于java地址值的问题

创建一个User对象,里面定义一个一维数组,一个有参构造

img


在测试类中,定义两个一维数组,两个数组的地址值分别是[I@16b98e56和[I@7ef20235

img


将数组arr加入对象User中并打印user.arr的地址为[I@16b98e56

img


然后把arr的地址值修改为arr2的地址值

img


再打印user.arr的地址值,发现user.arr的地址值没有发生改变遍历结果也仍然是1 2

img

求解答,感谢!

  • 写回答

2条回答 默认 最新

  • Huazie 优质创作者: 编程框架技术领域 2023-04-05 15:03
    关注

    user.arr 和 你在主函数 定义的arr 又不是同一个数组引用变量,只是它们一开始指向的 数组是同一个而已
    你后面修改 arr的指向,并不会修改user.arr的指向

    另外你打印的值并不是地址值,它们是 Object 对象 toString方法返回的,对象的hashcode

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月13日
  • 已采纳回答 4月5日
  • 创建了问题 4月5日