黑马程序员技术交流社区

标题: String类的问题 [打印本页]

作者: yp324    时间: 2013-5-29 11:02
标题: String类的问题
本帖最后由 yp324 于 2013-5-29 13:22 编辑

String s = "Hello";
s = s + " World!"
System.out.println(s);
打印结果为Hello Word!
不是说String已经初始化,就不会改变吗?表示很困惑

作者: 吴刚—heima    时间: 2013-5-29 11:23
童鞋,String对象实例化后的不可改变指的是其内存地址不变,
String s = "Hello";
s = s + " World!"
System.out.println(s);
打印结果为Hello Word!
这其中的s只是String对象实例在内存中的一个引用,也就是说s中存放的是内存地址,s = s + " World!"意思是在相同的内存空间内写入“world”。
对象实例化与实例化对象在内存中的存储还有就是i创建一个实例化对象的引用这几个概念,一定要弄清楚,如果不是很清楚,可以看一下毕老师的视频。
作者: SOAR    时间: 2013-5-29 12:18
你可以这样想,有那么一个地址,几年前别人可以通过它找到一户姓王的人,但是过了一段时间这个姓王的人搬走了,来了一户姓李的人,如果现在别人按这个地址找,那找到的就是姓李的人。这个地址并没变,但是它确可以映射到不同的户主阿。




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