黑马程序员技术交流社区
标题:
福利!一道易错误的面试题...
[打印本页]
作者:
海绵宝宝的微笑
时间:
2015-6-13 12:54
标题:
福利!一道易错误的面试题...
String s="abc";和String s=new String("abc")的区别?
其实你就需要回答一点就行了,别的都不用说
就是在对内存上,前者只创建了一个对象,而后面的创建了两个对象
作者:
micro_hx
时间:
2015-6-13 15:47
其实我想说,前者不一定创建了新的对象,如果常量池中存在“abc”字符串,那么就直接指向它。。。。
作者:
Foundmoon
时间:
2015-6-13 16:22
具体的是,第二句是new了一个新对象,然后新对象指向了常量池的"abc"
作者:
乔栋
时间:
2015-6-13 19:00
楼主讲的不清楚啊
不过好心。谢谢
作者:
FTD-2009
时间:
2015-6-13 20:30
谢谢楼主的提醒
作者:
海绵宝宝的微笑
时间:
2015-6-14 21:55
micro_hx 发表于 2015-6-13 15:47
其实我想说,前者不一定创建了新的对象,如果常量池中存在“abc”字符串,那么就直接指向它。。。。 ...
不是的,在内存中字符串都是单个的字符数组,只要有了字符串,就是在堆内存中开辟了一个新空间,就会把地址值赋给前面的变量!没有其他情况
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2