String类和StringBuffer类的区别

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类的区别_第1张图片

③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类进行 “ + ”号拼接,编译将提示出错

String类和StringBuffer类的区别_第2张图片

编译将提示出错




你可能感兴趣的:(JAVA)