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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2013-6-2 20:44  /  1726 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

new String("abc")
字符串在内存中会有专门的常量池来记住存储。所以,毫无疑问。先把“abc”作为字符串存起来。这个应该理解吧?
但是因为new String("abc")这是个匿名对象。而匿名对象是要在对内存中开辟空间的。所以它会在对内存中开辟空间。然后再次把“abc”存储起来。
所以s2中俩个对象一次作为字符串进常量池,一次作为对象进堆内存。
回复 使用道具 举报
HM张勇 发表于 2013-6-2 21:18
new String("abc")这是个匿名对象,这句话没反应过来,能解释下吗?

String  a ; a 是String对象,a 就是他的名字,;new  String();只是分配空间对象没有命名所以是“匿名”的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马