String和StringBuffer型別資料進行引數傳遞問題
String和StringBuffer型別資料進行引數傳遞問題
1.String和StringBuffer做為形參傳遞
通常引數傳遞有兩種:
基本型別:不會影響實際引數的值
引用型別:會影響實際引數的值
而String和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.總結
在引用型別中應該注意String型別的資料是一種特殊情況,不會因為形參改變從而改變實參
相關文章
- String型別函式傳遞問題型別函式
- 二維陣列作為引數傳遞問題陣列
- rake 任務引數傳遞問題解決
- 分頁及查詢引數傳遞問題分享
- Java進行post和get傳引數Java
- DBI@引數資料型別資料型別
- C#程式設計引用型別和值型別 以及引用傳遞和值傳遞C#程式設計型別
- js中函式引數值傳遞和引用傳遞JS函式
- 引數傳遞中編碼問題(Get/Post 方式)(一)
- 引數傳遞中編碼問題(Get/Post 方式)(二)
- 請教一個JSF引數傳遞的問題JS
- JavaScript封裝方法,相容引數型別為Number和StringJavaScript封裝型別
- SQL 語句調優_SQL傳遞引數的資料型別與表索引欄位型別保持一致SQL資料型別索引
- Hellow C# unity學習記錄(7)值型別引用型別以及引數傳遞C#Unity型別
- mybatis sql String>Double, 型別引數被強轉為數值型別MyBatisSQL型別
- Mybatis引數傳遞MyBatis
- JNI傳遞引數
- 面試官問:Go 中的引數傳遞是值傳遞還是引用傳遞?面試Go
- 不同資料庫間傳遞資料的問題資料庫
- ajax使用url傳遞中文引數亂碼問題解決
- JSP中四種傳遞引數中文亂碼問題JS
- 請教一個在Tiles中引數傳遞的問題
- spring引數傳遞和檢驗Spring
- C# 多執行緒引數傳遞C#執行緒
- AngularJS進階(八)實現頁面跳轉並進行引數傳遞AngularJS
- React事件傳遞引數React事件
- 路由元件傳遞引數路由元件
- 將函式作為引數傳遞解決非同步問題函式非同步
- Java:陣列和集合類作為引數傳遞時的差別(問題解決,謝謝大家提醒)Java陣列
- 關於 Go 中 Map 型別和 Slice 型別的傳遞Go型別
- Shell自學二(引數傳遞和陣列)陣列
- JS的方法引數傳遞(按值傳遞)JS
- html、php和js值的傳遞(使用ajax進行傳遞)HTMLPHPJS
- C#引數傳遞之值引數C#
- js函式引數值傳遞和引用傳遞簡單介紹JS函式
- 一道面試題引發的js資料型別傳參思考面試題JS資料型別
- String和基本資料型別的相互轉換資料型別
- 帶你掌握Redis資料型別:string和HashRedis資料型別