黑马程序员技术交流社区
标题:
String
[打印本页]
作者:
云雀
时间:
2015-7-10 13:42
标题:
String
String s = new String(“hello”)和String s = “hello”;的区别?
作者:
zhhrai
时间:
2015-7-10 13:55
用new会创建至少一个对象,如果常量池没有对应的字符串,就会创建两个.
一个是在堆内存中创建的,一个是在常量池中创建的.
直接的话,会最多创建一个对象.如果常量池没有对应的字符串,就会创建一个.
直接在常量池中创建一个.
一般答都是 new会创建两个对象,直接是创建一个对象.
作者:
e咕噜
时间:
2015-7-10 22:05
String str = "hello"; 先在内存中找是不是有"hello" 这个对象,
如果有,就让str指向那个"hello".如果内存里没有"hello",就创建一个新的对象保存"hello".
String str=new String ("hello") 就是不管内存里是不是已经有"hello"这个对象,
都新建一个对象保存"hello"
作者:
micro_hx
时间:
2015-7-10 22:32
学习了啊。。。。。
作者:
18678927239
时间:
2015-7-10 22:49
还没学到这里 看到一楼明白了
作者:
slaynzane
时间:
2015-7-11 08:50
String s = “hello”的都放在常量区;new出来的就是对象, new String的对象放到了堆里面。
作者:
加多宝
时间:
2015-7-11 08:57
String str = "hello"; 先在内存中找是不是有"hello" 这个对象,
如果有,就让str指向那个"hello".如果内存里没有"hello",就创建一个新的对象保存"hello".
String str=new String ("hello") 就是不管内存里是不是已经有"hello"这个对象,
都新建一个对象保存"hello"
作者:
Love丶cd
时间:
2015-7-11 09:34
顶一下吧。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2