黑马程序员技术交流社区

标题: 有人对StringBuffer和Sting有疑问,于是我查了下资料,对它们... [打印本页]

作者: 史卜坤    时间: 2012-6-13 09:29
标题: 有人对StringBuffer和Sting有疑问,于是我查了下资料,对它们...
String类支持静态的字符串,StringBuffer支持可修改的字符串
简单点讲:如果操作的字符内容不多且不频繁时,可以用String,否则多用StringBuffer。
如果你的字符要涉及到添加新元素,或者去掉元素,用StringBuffer好,String也有类似的方法,但是,它也是先转化为一个SringBUffer来做了
StingBuffer可以对Sting操作。
如:
StringBuffer sb="sb";
String s="s";
sb=sb.append(s);
得到结果为“sbs”
而Sting类型不可以。
String 指向静态内存区域,StringBuffer 指向动态内存区域。
作者: sbeeqnui1987    时间: 2012-6-13 09:37
String:
是对象不是原始类型.
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
String 是final类,即不能被继承.

StringBuffer:
是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象
它只能通过构造函数来建立,
StringBuffer sb = new StringBuffer();
note:不能通过付值符号对他进行付值.
sb = "welcome to here!";//error
对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.向StringBuffer
中付值的时候可以通过它的append方法.
sb.append("hello");






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