程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> char-java中參數傳遞變換的問題,求問:結果為什麼是這樣的啊??求高手解答!拜謝~

char-java中參數傳遞變換的問題,求問:結果為什麼是這樣的啊??求高手解答!拜謝~

編輯:編程綜合問答
java中參數傳遞變換的問題,求問:結果為什麼是這樣的啊??求高手解答!拜謝~

求問:結果為什麼是這樣的啊??
change:Test
change:g
change:b
change:c
TestPram:Hello
TestPram:g
TestPram:b
TestPram:c
代碼如下:
public class TestPram {
String str = "Hello";
char[] ch = {'a','b','c'};
public static void main(String[] args) {
TestPram tb = new TestPram();
tb.change(tb.str, tb.ch);
System.out.println("TestPram:"+tb.str);
for(int i=0;i<tb.ch.length;i++){
System.out.println("TestPram:"+tb.ch[i]);
}

}
public void change(String str,char[] ch){
    str = "Test";
    ch[0]='g';
    System.out.println("change:"+str);
    for(int i=0;i<ch.length;i++){
        System.out.println("change:"+ch[i]);
    }
}

}

最佳回答:


這就涉及到java中函數參數的值傳遞和引用傳遞,
1.值通常是只原始數據類型比如int,char等,你的代碼中的ch[0] 就是一個char類型的變量 ,遵循的是值傳遞
2.String是類,str作為一個對象,遵循的是引用傳遞,所以你是沒有辦法修改它的值的,只能改變它的引用

還不懂可以看這裡 http://jackycheng2007.iteye.com/blog/935038
xiangpini111
xiangpini111
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved