String、StringBufffer与StringBuilder的区别


public class Main {
	static void changeValue(String str)
	{
		str="def";
	}
	static void changeValue(StringBuffer str)
	{
		str.append("def");
	}
	static void changeValue(StringBuilder str)
	{
		str.append("def");
	}
	public static void main(String[] args)
	{
		String str1="abc";
		String str2=new String("abc");
		System.out.println(str1==str2); //false
		System.out.println(str1.equals(str2)); //true
		StringBuffer str3=new StringBuffer("abc");//可变对象,扩展速度快,线程安全
		StringBuilder str4=new StringBuilder("abc");//可变对象,扩展速度更快,线程不安全
		changeValue(str1);
		System.out.println("str1="+str1); //str1=abc
		changeValue(str2);
		System.out.println("str2="+str2); //str2=abc
		changeValue(str3);
		System.out.println("str3="+str3); //str3=abcdef
		changeValue(str4);
		System.out.println("str4="+str4); //str4=abcdef
	}
}

欢迎大家关注/订阅我的微信公众号Code Art Online,我会在我的公众号分享个人见闻,发现生活趣味;这里不仅有0和1,还有是诗和远方↓↓↓

你可能感兴趣的:(String、StringBufffer与StringBuilder的区别)