ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Strign型的变量通过形参传递后修改形参 String本身不会发生改变

2021-09-14 19:29:52  阅读:244  来源: 互联网

标签:副本 String 形参 Strign 原件 数据类型 传递 地址 指向


我们知道 String是被final修饰的是不可变的,每一次“=” 其实是相当于重新创建一个对象,我们知道引用数据类型在传递过程中是地址传递,基本数据类型在传递过程中是值传递。既然是地址传递并且又重新给这个s赋值了一个新的地址,为什么外部的s的值不变呢?带着这个问题查阅了部分资料和个人的代码实验。发现:在我们进行传递时不管是值传递还是地址传递传递的都会copy一个副本进行传递而不是‘原件’。在引用数据类型中,副本与原件指向同一个地址时改变地址内部的值原件会受到影响,但是如果改变了副本指向的地址那么副本的一切变化于原件就没有关系了。
所以当 方法中的s发生改变时相当于将副本指向了新的地址于原件自然就没有关系了,方法外部的s没有变化也就解释的通了。
 

标签:副本,String,形参,Strign,原件,数据类型,传递,地址,指向
来源: https://blog.csdn.net/weixin_55890103/article/details/120294674

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有