黑马程序员技术交流社区
标题:
新人发帖,问一个关于String的问题~~~~
[打印本页]
作者:
ebichuman
时间:
2016-5-29 15:40
标题:
新人发帖,问一个关于String的问题~~~~
String a = "ddd"
a= a+"aaa";
这里的a= a+"aaa";在执行的时候是不是又开辟了一个内存空间?
for(10次){
a= a+"aaa";
}如果是这样的话,是不是每执行一次都要开辟一次空间,。也是就开辟10次
如果说上面答案是是的话,String 和Stringbuilder 的区别是不是主要就是,Stringbuilder比较节约内存- -
作者:
弥赛亚
时间:
2016-5-29 15:55
“String对象一旦声明则不能轻易改变,如果要改变则需要先断开原有的对象引用,再开辟新的对象,之后再指向新的对象空间。”例如:String s = "abc";s这个变量的指针是指向"abc"这个字符串在内存中的首地址,执行s = "d"的时候,s所指向的内存地址发生了变化,已经不是指向"abc"的首地址,而是把"d"存在内存中,把s的指针指向了"d"的地址.而Stringbuilder都是指向同一个内存地址
作者:
loop
时间:
2016-5-29 15:57
沙发...................
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2