java string是值传递还是引用传递

 我来答
good名字被用了
2020-10-02
知道答主
回答量:3
采纳率:0%
帮助的人:1850
展开全部
String 是 java 中的一个类,所以可以认为是引用传递。
假设有一个 String 的实例 str = “abc”, 当你使用某个方法去调用 str 的时候,java 会新建一个实例名 str', 并且 str' 与 str 一样指向 “abc”所在的地址。
但是,如果在该方法中,进行 str' = "dd" 的操作,并不会改变 str 所指内容(str 还是 “abc”)。这是因为 java 中 String 的特殊性,String 是 final 修饰的,它是不可改变的。对于 String 的修改实际上是对其所指的地址的改变,而不是改变当前所指地址中的内容。
当使用 str' = "dd" 这个语句的时候。java 不会把原先的 “abc” 修改为 “dd”, 而是会重新开辟一块内存空间,把该内存修改为 “dd”,然后把这个地址给 str'。这种改变就不会影响到 str.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Time_and_Story
2016-08-14 · 超过21用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:26.7万
展开全部
你好,请注意java语言里不存在引用传递这个说法,所以不管是对象还是基本数据类型,都是值传递
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式