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,還有是詩和遠方↓↓↓

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章