
为什么同样操作,在一个方法中执行后却输出结果不同?
在 Java 中,参数传递的方式分为值传递和引用传递。当传递一个基本数据类型(如 int、double)时,会进行值传递,将参数值直接复制给方法内对应的变量。
对于引用类型(如 String),传递的却是对象的引用,而不是对象的本身。这意味着方法内对引用对象的操作并不会影响到方法外部的原对象。
在给出的示例中,第一次操作发生在方法外部,对字符串变量 str 进行操作。由于 str 是一个引用,因此对其进行修改不会改变原来的对象。因此,str 在方法外仍然是 “aaa”。
阿里云-虚拟数字人
阿里云-虚拟数字人是什么? …
2 查看详情
立即学习“Java免费学习笔记(深入)”;
相比之下,第二次操作发生在方法内部,对参数变量 s 进行修改。虽然 s 和 str 指向同一对象,s 的修改会反映到 str 上。因此,str 在方法外变成了 “aaabbba”。
由此可见,对于引用类型,方法内的修改只影响局部变量,不会影响外部使用的原对象。
以上就是Java 中,为什么方法内部对引用类型参数的修改会影响外部变量?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/424158.html
微信扫一扫
支付宝扫一扫