黑马程序员技术交流社区

标题: String 与 StringBuilder [打印本页]

作者: 杨本国    时间: 2011-11-29 13:38
标题: String 与 StringBuilder
本帖最后由 杨本国 于 2011-11-29 20:00 编辑

System.String 和System.StringBuilder有什么区别?
作者: 经睿    时间: 2011-11-29 13:59
String对象是不可改变的,每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。
StringBuilder类表示值为可变字符序列的类似字符串的对象,允许扩充它所封装的字符串中字符的数量,但是您可以为它可容纳的最大字符数指定一个值。
作者: 许前刚    时间: 2011-11-29 15:10
String类实际上表示的是一系列不可变的字符,无法直接修改给该字符分配的堆中的字符串,每次定义一个string字符串,系统都会为其分配内存空间!
StringBulder位于System.Text命名空间下,使用StringBuilder类,每次重新生成新字符串的时候不是在生成一个新实例,而是直接在原来字符串占用的内存空间上进行处理,而且还可以动态的分配内存空间的大小。
作者: 闫炳颖    时间: 2011-12-1 18:18
String是引用类型,在堆上分配内存。String对象一旦生成就不可改变(Immutable)。String提供了大量便捷的字符串操作函数。String运算时会产生一个新的实例。在程序中第一相等运算符(==和!=),可以方便的比较String对象的值。
StringBuilder对象是动态对象,允许扩充他所封装的字符串中的字符数量。StringBuilder可以用于修改StringBuilder中的内容。




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