下图 这个java 关于值传递 引用传递的问题 大神详细解释一下 为什么会是这样 谢谢
java 关于值传递 引用传递的问题 大神详细解释一下 谢谢
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
7条回答
- 布衣小哥 2017-12-08 01:38关注
s1,s2:他的值是final的 所以是不可以改变的。在方法中又重新创建了String对象,方法里的s1,s2是局部变量。当方法执行完成之后,方法内的s1 s2也就消失了。
sb1,sb2:他底层实际是对char数组进行操作的。通过change方法把sb1和sb2的地址传过来,在change方法中sb1=sb2只是把局部变量sb1的地址改变了,当方法执行完成change中的局部变量sb1也就消失了。
sb2.append(sb1):append返回的是return this,拼接之后的对象还是原对象,虽然change方法执行完成之后局部变量sb2消失了,但是堆内存中的对象数据被改变了。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?