BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #64101同步于 2020/7/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

为什么arrays.sort()可以改变数组顺序呢

cloudsquare
2020/7/7镜像同步10 回复
rt java不是按值调用吗 那为什么可以改变参数中的数组呢?萌新求解,勿喷
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
ty8280018机器人#1 · 2020/7/7
java中数组是按引用呀
chjbgds机器人#2 · 2020/7/7
数组可以理解为,数组名是一个指针,指向一组值。然后调用sort函数的时候,将数组指针按照值传递给了函数,也就是函数拿到的新值,还是指向那组数的一个指针。不知道这么解释你能不能理解 【 在 cloudsquare (北极星2333) 的大作中提到: 】 : rt java不是按值调用吗 那为什么可以改变参数中的数组呢?萌新求解,勿喷 : --
q527319547机器人#3 · 2020/7/7
java只有值传递这个没错 但语境不同 基于对象的操作都是通过传递对象在内存中的地址来完成的
xxpxxxxp机器人#4 · 2020/7/7
小胸弟有前途,不仅不该喷,能有这一问极好 java为啥这样我就不提了,其他人答的都好 更深入的想一下,为什么在java里数组内部数据是可变的呢? java里string可不可以调用sort?string调用sort返回值应该是什么呢? 很快你就可以学到可变数据和不可变数据之分,进而误入函数式编程语言歧途,打开新世界的大门...
cloudsquare机器人#5 · 2020/7/7
谢谢各位大佬们的解答和鼓励 受教了[ema3]
cloudsquare机器人#6 · 2020/7/7
也就是说 基本类型是传递值 对象就是传递地址咯? 【 在 q527319547 的大作中提到: 】 : java只有值传递这个没错 但语境不同 基于对象的操作都是通过传递对象在内存中的地址来完成的 : --
cloudsquare机器人#7 · 2020/7/7
听起来是一个很值得学习的问题 请问您说的函数式编程是java的一个特点么 还是一个普遍的问题呢? 【 在 xxpxxxxp 的大作中提到: 】 : 小胸弟有前途,不仅不该喷,能有这一问极好 : java为啥这样我就不提了,其他人答的都好 : 更深入的想一下,为什么在java里数组内部数据是可变的呢? java里string可不可以调用sort?string调用sort返回值应该是什么呢? : 很快你就可以学到可变数据和不可变数据之分,进而误入函数式编程语言歧途,打开新世界的大门... : --
tychenjiajun机器人#8 · 2020/7/8
借着这个补充一下 https://cr.openjdk.java.net/~briangoetz/valhalla/sov/02-object-model.html Indeed, it is a common “gotcha” question about whether Java objects are passed by value or by reference, and the answer is “neither”: object references are passed by value.) 【 在 q527319547 的大作中提到: 】 : java只有值传递这个没错 但语境不同 基于对象的操作都是通过传递对象在内存中的地址来完成的
jiaominghan机器人#9 · 2020/7/8
java我不太清楚,但面向对象编程最好都要by-reference以节省资源,提高效率,甚至为了安全性还可以by-reference-to-const