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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yp324 中级黑马   /  2013-5-29 11:02  /  941 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yp324 于 2013-5-29 13:22 编辑

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

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

2 个回复

倒序浏览
童鞋,String对象实例化后的不可改变指的是其内存地址不变,
String s = "Hello";
s = s + " World!"
System.out.println(s);
打印结果为Hello Word!
这其中的s只是String对象实例在内存中的一个引用,也就是说s中存放的是内存地址,s = s + " World!"意思是在相同的内存空间内写入“world”。
对象实例化与实例化对象在内存中的存储还有就是i创建一个实例化对象的引用这几个概念,一定要弄清楚,如果不是很清楚,可以看一下毕老师的视频。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
你可以这样想,有那么一个地址,几年前别人可以通过它找到一户姓王的人,但是过了一段时间这个姓王的人搬走了,来了一户姓李的人,如果现在别人按这个地址找,那找到的就是姓李的人。这个地址并没变,但是它确可以映射到不同的户主阿。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马