hudengzhu 2023-03-25 17:09 采纳率: 71.4%
浏览 33
已结题

为什么最后的输出结果还是1234,?

为什么最后的输出结果还是1234,?



public class Math {
    public static void main(String[] args) {
        int[] arr ={1,2,3,4};
      tet.test(arr);
        for (int i = 0; i < arr.length; i++) {

            System.out.println(arr[i]);
        }

    }


}

class tet{
    static void test(int[] arr ){
        arr=new int[]{7,8,9,10};

    }
}
  • 写回答

5条回答 默认 最新

  • IT_service_mesh 2023-03-25 17:13
    关注

    参考GPT和自己的思路:因为在调用 test 方法时,引用变量 arr 的值被赋值为一个新的数组 {7, 8, 9, 10},但这个值只在 test 方法中有效,不会改变 main 方法中的原数组。因此,当 main 方法中的循环输出数组时,仍然输出原始的数组 {1, 2, 3, 4}

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 关于无人驾驶的航向角
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了