weixin_45101529 2021-02-19 16:36 采纳率: 100%
浏览 108
已采纳

JAVA 循环向二维数组赋值一位数组,新的一位数组将二维数组之前所有值覆盖,这是怎么回事?求大神解答

 

 

  • 写回答

3条回答 默认 最新

  • 梵净游云 2021-02-20 01:12
    关注

    数组对象的赋值是引用赋值,也就是说其实只赋值了一个内存地址,当被引用对象的值改变时,引用对象的值也随之改变。例如:

    Integer[] arr1 = {1,2,3};
    Integer[] arr2 = arr1;
    
    arr1[0] = 5;
    
    //output: [5,2,3]
    System.err.println(Arrays.deepToString(arr1));
    //output: [5,2,3]
    System.err.println(Arrays.deepToString(arr2));
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部