String和StringBuffer類型數據進行參數傳遞問題

1.String和StringBuffer的形的參做爲傳遞
通常參數傳遞有兩種:

                基本類型:不會影響實際參數的值

                引用類型:會影響實際參數的值

而字符串和StringBuffer的的作爲引用類型是否是上面的一樣的呢?首先看一下下面的例子

package xfcy_01;
/**
 * 案例: String和StringBuffer做爲形參傳遞
 * 形式參數:
 * 		基本類型:不會影響實際參數的值
 * 		引用類型:會影響實際參數的值
 * 注意:String類型數據應該按照基本數據處理
 * @author 曉風殘月
 *
 */
public class StringBufferDemo04 {
	public static void main(String[] args) {
		//1.String類型
		String str1="hello";
		String str2="world";
		System.out.println(str1+"----------------"+str2);
		change(str1,str2);
		System.out.println(str1+"----------------"+str2);
		
		//2.StringBuffer類型
		StringBuffer sb1=new StringBuffer("hello");
		StringBuffer sb2=new StringBuffer("world");
		System.out.println(sb1+"-----------------"+sb2);
		change2(sb1,sb2);
		System.out.println(sb1+"-----------------"+sb2);
	}
 
	private static void change2(StringBuffer sb1, StringBuffer sb2) {
		sb1=sb2;
		sb2=sb1.append(sb2);
	}
 
	public static void change(String str1, String str2) {
		str1=str2;
		str2=str1+str2;
	}
}

得到的結果爲:

 

講解過分析如下:

但若爲的StringBuffer的類型的數據

2.總結

       在引用類型中應該注意字符串類型的數據是一種特殊情況,不會因爲形參改變從而改變實參

 

       本文轉載自:https://blog.csdn.net/xiaofei__/article/details/53007009

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