黑马程序员技术交流社区
标题:
StringBuilder类与String类有什么区别?
[打印本页]
作者:
李晓泉
时间:
2013-3-14 09:42
标题:
StringBuilder类与String类有什么区别?
StringBuilder类与String类有什么区别?
在什么情况下使用StringBuilder类方便?
作者:
边亮
时间:
2013-3-14 09:50
一个String对象的长度是固定的,一旦声明就不能改变它内容。但用+号可以达到串联字符串或添加习字符串的目的,但这样会产生一个新的string实例,这样就会消耗内存和时间,所以如果不断产生string实例会降低效率;
StringBuilder类,这个类对象默认会有16个字符的长度,也可以自行指定初始长度。如果字符超出可容纳的长度,则StringBuilder对象会自动增加长度。如果要是频繁操作字符串,使用StringBuilder会大大提高效率
作者:
黑马-杨鹏立
时间:
2013-3-14 10:59
StringBuilder类与String类有什么区别?
stringbuilder做字符串拼接时不会从新产生一个新的字符串,他的行为为在原有的字符串上追加,从开始的结束有且只有一个字符串。
string是一旦声明就不能改变:
有时会有这样的疑问:
谁说不能改变假如我这样写不就改变了吗?string s=“a”;s=“b”;
这种确实改变了s,但是不能理解为字符串改变,因为string是引用类型,所以他是把原有的指向断开,从新指向一个新的字符串。。。
原有的字符串可能丢失,也可能存在,他有一个拘留池进行管理这时好像涉及到垃圾回收机制。
在什么情况下使用StringBuilder类方便?
在需要大量字符串拼接的时候使用stringbuilder。
要是使用string会产生大量新字符串,耗内存。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2