黑马程序员技术交流社区

标题: 请教关于生成多少个String对象的问题 [打印本页]

作者: Camwly    时间: 2015-11-23 18:45
标题: 请教关于生成多少个String对象的问题
经常被这个问题搞乱,比如说String a=“a”+“b”+“c”;总共有多少个对象?
String b="a";String b="c"; String c=a+b;总共有多少个对象?
楼主初学这个,老是搞错,有没有大神搭救一下,帮忙排解疑问。
作者: a2300538    时间: 2015-11-23 19:46
都是三个吧.. 我也不确定
作者: tansuozhey    时间: 2015-11-23 20:47
1、上面一个对象(“abc"),下面3个对象(b不能重复定义,只能b =“c”);
2、“abc"、 "b"、"c"和“abcc”其实就是在java栈中的字符串常量池中4个特殊对象;
3、a、b、c三个就是3个对象的句柄或者说引用,也是存在java栈中。
4、String a = new String("a");有两个对象;一个new String()存在于堆中,一个"a",存在于栈中。
作者: geqiandesiyu    时间: 2015-11-23 21:44
这真是太高端了




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