Java参数传递问题

Nonoas Nonoas 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
都说Java只有按值传递,也就是说传入方法的参数只是一个副本,方法内对这个数的操作是不会改变原来的值的。
那么为什么我传一个数组到快速排序的方法,方法执行完成之后,输出数组的值发生了变化呢??
private static int[] a = { 8,7,6,3,5,4 };


public static void main(String[] args) {

System.out.println("排序前:"+Arrays.toString(a));
QuikSorter.quikSort(a, 0, a.length - 1);
System.out.println("排序后:"+Arrays.toString(a));

}

输出结果:
排序前:[8, 7, 6, 3, 5, 4]
排序后:[3, 4, 5, 6, 7, 8]
...全文

相关推荐

评论 15
收藏 已收藏
分享
返回顶部
Nonoas
Java SE 62,620 成员 307,251 内容