黑马程序员技术交流社区

标题: 关于String类的学习心得 [打印本页]

作者: 光sail    时间: 2012-4-18 09:29
标题: 关于String类的学习心得
一直以来不明白 String str =”sss” 与String str =new String(“sss”)的区别,看了论坛和网上的相关解答,有了一些心得,原来里面涉及到一个名为字符串池(
StringPool)的概念
String str =”sss” 采取字面值赋值
1) 查找字符串池有无sss,没有则在字符串池中创建sss对象,并把str引用指向sss对象,
2) 如果有,则直接指向存在对象
String str =new String(“sss”)
1) 首先在字符串池查找是否有无sss对象,有则不再字符串池创建,而在堆中创建,地址返回给str
2) 字符串池没有sss对象,则在池中创建sss对象,然后再堆中创建对象,将堆中的对象地址返回给str






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