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

 我来答
轩辕西城39
2017-01-24 · 超过281用户采纳过TA的回答
知道小有建树答主
回答量:857
采纳率:33%
帮助的人:475万
展开全部
String是引用类型,不过java有字符串常量池机制,声明字符串常量或者字符串常量连接都要用到字符串常量池。如果常量池中有该字符串序列则返回,所以str创建了一个字符串并放入常量池中,str2内的字符序列已在常量池中所以str2直接指向str指向的对象。
而new String()一定会在堆上新创建对象,所以肯定false
例子:
String str="scce"; //创建了一个对象
String str2="scce"; //指向一个对象,不是新建
str==str2返回true //同一个内存地址
String str2=new String("scce"); str==str2返回false //新建了一个对象,内存地址不一样!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式