黑马程序员技术交流社区

标题: 关于String类的一点提问 [打印本页]

作者: Morrfree    时间: 2015-8-3 23:54
标题: 关于String类的一点提问
String类的第二种创建对象方式,具体的字符串对象在是怎么被创建的啊.
作者: codersun    时间: 2015-8-4 00:46
JVM会先去String常量池查找,如果没有,就在常量池新建,并将地址赋给堆内存中的对象,最后堆内存地址在赋给对象名所在的栈内存
作者: kissfrd    时间: 2015-8-4 01:06
楼上说的很好很详细
作者: 天地一沙鸥    时间: 2015-8-4 08:12
codersun 发表于 2015-8-4 00:46
JVM会先去String常量池查找,如果没有,就在常量池新建,并将地址赋给堆内存中的对象,最后堆内存地址在赋 ...

很详细,之前对这个还一直有点不明白,看了这个就有一个脉络了。
作者: lsyz0021    时间: 2015-8-4 08:22
String str="abc";
作者: lsyz0021    时间: 2015-8-4 08:26
一共是两种。1、String str="abd";  2、String str=new String("abc");
第一种是直接定义,第二种是实例化,可以看成  String str;   str=new String("abc")
作者: lizf2010    时间: 2015-8-4 11:07
第二种方式好像是通过new新建了一个String对象,然后再找字符串对象"abc"存进String对象,相当于是创建了两个对象
作者: 曾云鹏    时间: 2015-8-4 12:51
楼上几位大神回答的都不错
作者: jake_liu    时间: 2015-8-4 14:04
很详细啊





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