讨论一下关于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());
}
}

运行结果
AB,B
---------------------------------
1:2
---------------------------------
2:1
---------------------------------
2
---------------------------------
al length======2


  方法中改变引用变量指向对象不会影响方法外引用变量;
   方法中改变引用变量指向对象的值会影响方法外引用变量的值。



欢迎大家访问我的个人网站 萌萌的IT人

posted on 2006-08-15 22:02 见酒就晕 阅读(149) 评论(0)  编辑  收藏 所属分类: J2EE文章


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(3)

我参与的团队

随笔分类

随笔档案

文章分类

文章档案

收藏夹

BLOG

FRIENDS

LIFE

搜索

最新评论

阅读排行榜

评论排行榜