2010年8月26日

首先明确一点:Java是传值的。
    如果参数是基本类型(包括String,也被认为是基本类型),参数值将会被copy一份,然后将copy的那份传到方法中,这样保证了在方法中修改参数值时,不会修改原来的那份。
    如果参数是对象,那么copy的就是该对象的引用值,方法不可以改变这个引用值,但是可以改变对象的属性。
拿个小例子测试一下:

 1 import java.util.List;
 2 import
 java.util.ArrayList;
 3 import
 java.lang.StringBuffer;
 4 

 5 public class Test {
 6 
    
 7     public static void
 main(String args[]) {
 8         List aList = new
 ArrayList();
 9         String str = "Hello,"
;
10         StringBuffer sb = new StringBuffer().append("Hello,"
);
11 

12         aList.add(str);
13 
        aList.add(sb);
14 

15         System.out.println(aList.get(0));
16         System.out.println(aList.get(1
));
17 

18         str = "World!";
19         sb.append("World!"
);
20 

21         System.out.println(aList.get(0));
22         System.out.println(aList.get(1
));
23 
    }
24 }

输出结果为:

posted @ 2010-08-26 14:07 Aries001 阅读(98) | 评论 (0)编辑 收藏
仅列出标题  

导航

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

常用链接

留言簿

随笔档案

搜索

最新评论