討論一下關于java的傳值還是引用
class SwapClass {
public void swap(StringBuffer x,StringBuffer y){
x.append(y);
y=x;
}
public void swap(String x,String y){
String temp = x;
x = y;
y = temp;
}
public void swap(String[] arr,int x,int y){
String temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
public void change(String x){
x ="franlk";
}
public void add(ArrayList al){
al.add("wang");
}
}
public class test {
/**
?* @param args
?*/
public static void main(String[] args) {
SwapClass obj = new SwapClass();
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
String[] arr ={"1","2"};
ArrayList al = new ArrayList();
al.add("zhang");
obj.swap(a,b);
System.out.println(a+","+b);
System.out.println("---------------------------------");
obj.swap(arr[0],arr[1]);
System.out.println(arr[0]+":"+arr[1]);
System.out.println("---------------------------------");
obj.swap(arr,0,1);
System.out.println(arr[0]+":"+arr[1]);
System.out.println("---------------------------------");
obj.change(arr[0]);
System.out.println(arr[0]);
System.out.println("---------------------------------");
obj.add(al);
System.out.println("al length======"+al.size());
}
}
運行結(jié)果
AB,B
---------------------------------
1:2
---------------------------------
2:1
---------------------------------
2
---------------------------------
al length======2
? 方法中改變引用變量指向?qū)ο蟛粫绊懛椒ㄍ庖米兞浚?br />?? 方法中改變引用變量指向?qū)ο蟮闹禃绊懛椒ㄍ庖米兞康闹怠?/p>
|
|
posted on 2006-08-15 22:02 見酒就暈 閱讀(153) 評論(0) 編輯 收藏 所屬分類: J2EE文章