黑马程序员技术交流社区

标题: 关于字符串String值交换的问题 [打印本页]

作者: HeJundong    时间: 2016-9-5 00:23
标题: 关于字符串String值交换的问题
刚刚学了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,就有点二丈和尚了,大神在哪里?能帮我分析一下么,谢谢!

作者: HeJundong    时间: 2016-9-5 00:25
PS:false的意思是字符串还是没有发生改变,输出的还是原来的那个字符串
作者: 孙洪勇    时间: 2016-9-5 09:31
字符串不是存在常量池中的吗
作者: HeJundong    时间: 2016-9-6 23:05
孙洪勇 发表于 2016-9-5 09:31
字符串不是存在常量池中的吗

new 出来的也是么,不是在堆中么?传过来的不是其地址值么?
作者: yigezhifu    时间: 2016-9-6 23:51
很简单啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2