Java——String类与StringBuffer类的区别
1.
●String类表示的字符串是常量,一旦创建后其内容和长度是无法改变的。
●StringBuffer表示字符容器,其内容和长度是可以修改的。
在操作字符串时,如果该字符串仅用于表示数据类型,则使用String类即可;但是如果需要对字符串中的字符进行增删操作,则需要使用StringBuffer类。
2.
String类覆盖了Object类的equals()方法,而StringBuffer则没有、
package com.yushifu.javaAPI;
//StringBuffer与String的区别
public class StringBufferDemo02 {
public static void main(String[] args) {
String str1 = "yushifu";
String str2 = "yushifu";
boolean result = str1.equals(str2);
System.out.println(result);//true
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer();
sb1.append("yushifu");
sb2.append("yushifu");
System.out.println(sb1.equals(sb2));//false
}
}
3.
String类对象可以使用操作符“+”连接,StringBuffer对象则不能。
public class StringBufferDemo03 {
public static void main(String[] args) {
String str1 = "U";
String str2 = "z";
String str3 = "i";
String str4 = str1+str2+str3;
System.out.println(str4);
}
}
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer();
StringBuffer sb3 = new StringBuffer();
sb1.append("U");
sb2.append("z");
sb3.append("i");
StringBuffer sb4 = sb1+sb2+sb3;//编译会出错