黑马程序员技术交流社区
标题:
String 和 StringBuffer
[打印本页]
作者:
秦超
时间:
2012-3-7 14:19
标题:
String 和 StringBuffer
StringBuffer的功能很强大,既然是这样,为什么还需要String呢?是不是String 还有一些StringBuffer没有的功能呢?或者是执行效率更高?
作者:
程小龙
时间:
2012-3-7 15:34
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
作者:
赵晓波
时间:
2012-3-7 16:34
java.lang.String代表不可变的字符序列。
StringBuffer和String类似,但StringBuffer可以对其字符串进行改变。
//不可变,s1=s1+s2时先开辟一空间存储s1+s2的值,再让s1指向s1+s2
public class Test {
public static void main(String[] args) {
String s1 = "hello";
String s2 = "world";
s1 += s2;
}
}
作者:
彭卫红
时间:
2012-3-7 16:49
提示:
作者被禁止或删除 内容自动屏蔽
作者:
dangfei
时间:
2012-3-7 17:04
既然String存在,自然有它存在的价值,的确有方法StringBuffer里没有,比如String.startsWith(prefix),String.endWith(prefix)等,lz可以看看这两类的api。
再者String 是不可变对象而StringBuffer,StringBuffer要维持这一可变对象特性必然有额外的开销,如果程序中没有频繁的对字符串操作(如拼接操作)最好还是用
String。看看大师们的程序,也没几个到处都是StringBuffer的。
作者:
秦超
时间:
2012-3-7 17:30
了解了~~~
作者:
陈斌
时间:
2012-3-7 17:30
new StringBuffere(buf,0,len);
buf 字节数组;
len长度 可见长度是可变的
作者:
小白
时间:
2012-3-7 19:57
当你知道字符串的长度时String的执行效率要比StringBuffer高!
作者:
a504079589
时间:
2012-3-7 21:26
String是对象不是原始类型, 是不可改变对象,一旦被创建,就不能修改它的值.;
StringBuffer是一个可变对象,StringBuffer只能通过构造函数来建立,对象被建立以后,在内存中就会分配内存空间,初始保存一个null;
向StringBuffer中付值时通过append方法.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2