黑马程序员 String和StringBuffer的区别

来源:互联网 发布:js怎么让按钮不可点击 编辑:程序博客网 时间:2024/04/30 19:43

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——

JAVA平台中提供了两个类; String和StringBuffer,它们可以储存和操作字符串,几包含了多个字符和
字符数据。这个String类提供了数值不可改变的的字符串。而StringBuffer 类提供的字符串进行修改。
当你知道字符数据要改变的时候就可以用StringBuffer。典型的,你可以使用StringBuffer来动态构造
字符数据。另外,String实现了equals方法,new String(“abc”).equals(new String(“abc”))的结果为true,
而StringBuffer没有实现equals方法,所以,new StringBuffer(“abc”).equals(new StringBuffer(“abc”))
的结果为false
举例;将1到100的所有数字拼起来,组成字符串。
StringBuffer sbf=new StringBuffer ();
for(int i=0;i<100;i++){
sbf.append(i);
}
上面的代码效率很高,因为之创建了一个SreingBuffer对象,而下面的代码效率很低,因为创建了101个对象
String s=new Sring();
for(int i=0;i<100;i++){
s=s+i;
}
String覆盖了equals方法和hasCode方法,而StringBufferr没有覆盖equals方法和hasCode方法,
所以将StringBuffer对象储进java集合类时会出现问题。

0 0
原创粉丝点击