黑马程序员技术交流社区

标题: 求教String与StringBuilder的区别 [打印本页]

作者: liuyinglong    时间: 2013-10-31 00:25
标题: 求教String与StringBuilder的区别
本帖最后由 liuyinglong 于 2013-10-31 12:36 编辑

如题  ,求教他们之间的详细区别点,以及选用判断。

作者: 不是炎亚纶    时间: 2013-10-31 00:59
String是引用类型,String对象一旦生成,就不可改变了,使用System.String类中的方法时是要在内存中新建一个字符串对象的,如果重复修改 ,那么就要重复开辟内存,占用系统较大。StringBuilder对象是动态对象,可以用于修改StringBuilder中的内容,如果修改字符串不创建对象可以使用StringBuilder类。
作者: liuyinglong    时间: 2013-10-31 01:01
不是炎亚纶 发表于 2013-10-31 00:59
String是引用类型,String对象一旦生成,就不可改变了,使用System.String类中的方法时是要在内存中新建一 ...

哦 ,好像明白点了  ,我在想一想
作者: Goes_By    时间: 2013-10-31 11:32
http://bbs.itheima.com/thread-93971-1-1.html 之前有人问过这个问题
作者: 思·长安    时间: 2013-10-31 12:32
StringBuilder可以随意更改字符串的长度,String会初始一个长度,但是更改会再次重新分配内存空间,性能损耗很大。
需要频繁变动字符串长读的变量最好定义为StringBuilder。从而节省短时期的内存
string的变量是存在于字符串连接池中的,做插入,替换等动态修改时会比较占用内存,
所以需要对字符串做动态修改时建议使用stringBuilder
作者: liuyinglong    时间: 2014-1-1 12:28
思·长安 发表于 2013-10-31 12:32
StringBuilder可以随意更改字符串的长度,String会初始一个长度,但是更改会再次重新分配内存空间,性能损 ...

谢谢罗小晴同学:P




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