A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

刚刚学了String类,总结前面学过的知道了值交换有:
①基本数据类型交换之后值没有发生改变
②数组类型的值交换之后值发生了改变
③字符串String的交换之后值并没有发生改变
前面两种都好理解,但是第三种String类型的如果像是
[Java] 纯文本查看 复制代码
"String s1 = "heima";
s1 += "itcast"";
System.out.println(s1);

稍微思考一下还是能知道值是改变不了的
----------------------欢乐的分割线---------------------------------------------------
这是问题的重点:
如果我这样写:
[Java] 纯文本查看 复制代码
String s = new String("heima");
s += "itcast";
System.out.println(s);

发现结果还是false,就有点二丈和尚了,大神在哪里?能帮我分析一下么,谢谢!

4 个回复

正序浏览
很简单啊
回复 使用道具 举报
孙洪勇 发表于 2016-9-5 09:31
字符串不是存在常量池中的吗

new 出来的也是么,不是在堆中么?传过来的不是其地址值么?
回复 使用道具 举报
字符串不是存在常量池中的吗
回复 使用道具 举报
PS:false的意思是字符串还是没有发生改变,输出的还是原来的那个字符串
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马