黑马程序员技术交流社区

标题: 关于 字符串的小问题 [打印本页]

作者: CHJ    时间: 2013-9-14 12:44
标题: 关于 字符串的小问题
本帖最后由 CHJ 于 2013-9-14 13:52 编辑

String s1 = "abc";

String s2 = new String("abc");

s1在内存中有一个对象,
s2在内存中有两个对象。
问 s2指向谁呢?

作者: 赵凯    时间: 2013-9-14 13:02
变量 s1 指向了一个对象,就是字符串对象,字符串存在于方法区的常量池;
s2是创建了两个对象 一个是new String对象, 另一个对象是"abc"字符串 ;
作者: 黄炳期    时间: 2013-9-14 13:06
s1指向字符串缓冲区的"abc",
第二条语句创建两对象,s2指向堆内存中的abc
作者: 光脚丫的小白兔    时间: 2013-9-14 13:27
s1在内存中有一个对象,
s2在内存中也有一个对象。
新new了一个,相当于另开辟一段内存,与s1中的abc没有关系。
作者: doevents    时间: 2013-9-14 15:33
s1只指向一个对象,酒店hi缓冲中的abc,在字符串连接池中,而s2创建了2个对象,一个是abc对象,一个是new出来的String对象,存在堆内存中,




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