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