001可望成功 发表于 2014-7-12 19:26
今天刚写了一个帖子,说的就是这个问题,你看看吧,这里不多解释
http://bbs.itheima.com/thread-129040-1- ...
郭可 发表于 2014-7-12 21:43
字符串常量是字面量存储在常量池中,new出的对象存储在堆区。至于网上说的前者创建了两个对象,我看了很久J ...
赵顺超 发表于 2014-7-12 22:02
说的是,常量池中没有abc字符串,这时候如果new String ("abc")的话,内存中会出现两个对象,一个在堆 ...
郭可 发表于 2014-7-13 01:02
JVM规范中说明 所有的数组和对象都在堆中。处于空间考虑也不应该一个对象存两份吧。我觉得内常量池中存的 ...
doubandddk 发表于 2014-7-12 20:06
"hello"是一个字符串对象,String str = "hello"是把对象“hello”的引用赋值给了str
new String("hello") ...
燿陚√揚葳 发表于 2014-7-12 21:30
二楼说的对啊,至于第二个是因为当s1="hello"时,常量池中就有了字符串“hello”,当s2=“hello”,因为系 ...
ss5619498 发表于 2014-7-12 21:36
"==" 是比较两个地址是否相同,
郭可 发表于 2014-7-12 21:43
字符串常量是字面量存储在常量池中,new出的对象存储在堆区。至于网上说的前者创建了两个对象,我看了很久J ...
燿陚√揚葳 发表于 2014-7-12 21:30
二楼说的对啊,至于第二个是因为当s1="hello"时,常量池中就有了字符串“hello”,当s2=“hello”,因为系 ...
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |