String和StringBuffer型別資料進行引數傳遞問題
阿新 • • 發佈:2018-12-30
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