黑马程序员技术交流社区
标题:
关于String字符串的疑问。
[打印本页]
作者:
zdrain
时间:
2013-11-14 10:13
标题:
关于String字符串的疑问。
看视频中,毕老师说字符串都是存储在方法区的常量池中,
如果已有对象字符串中有新串的字符,那么就从已有的串中提取。
我的问题就出现了,如果新建的字符串在常量池中全有的话,他还会新创立对象空间吗?
还会有新的地址吗?
作者:
wjj410830911
时间:
2013-11-14 10:45
额。。。你的意思是问
已有的对象里添加新的字符串,会从已有的字符串提取
而如果要添加的字符串,常量池都有了,那么还会新建对象和地址值吗?
是吗?
如果是这个问题的话
还是会新建对象和地址值的
因为每new一个对象 都会有一个新的地址值 然后才是将值赋给地址值
所以已有对象可以直接调用已有字符串
而已有字符串中要添加新的 就要重新new一个对象 再调用字符串
作者:
Weix1992
时间:
2013-11-14 12:16
如果是new String()的话,他会在堆内存中创建一个新地址,并把字符串放入其中。
如果是String s = "****" 则会先在字符串池中找有没有相匹配的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2