本文共 880 字,大约阅读时间需要 2 分钟。
StringBuffer类和String类有很多相似之处,针对这两个类进行对比,简单归纳两者的不同,具体如下:
①String类表示的字符串是常量,一旦创建后,内容和长度都无法改变。
而StringBuffer表示字符容器,其内容和长度都可以随时改修改。
在操作字符串时,如果该字符串仅用于表示数据类型,使用String类即可,
但是如果需要对字符串中的字符进行增删操作,则使用StringBuffer类。
② String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法。
public class Example { public static void main(String[] args) { String str1 = new String("a"); String str2 = new String("a"); System.out.println(str1.equals(str2)); //打印 true StringBuffer sb1 = new StringBuffer("a"); StringBuffer sb2 = new StringBuffer("b"); System.out.println(sb1.equals(sb2)); //打印 false }}
运行结果:
③String类对象可以用操作符+进行连接,而StringBuffer类对象之间不能
String类字符串拼接:
public class Example { public static void main(String[] args) { String str1 = "a"; String str2 = "b"; String str3 = str1 + str2; System.out.println("str3:"+str3); }}
运行结果:
如果换成StringBuffer类进行 “ + ”号拼接,编译将提示出错
编译将提示出错