首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求大大讲解个例题,该如何处理

2012-03-06 
求大大讲解个例题Java codeimport java.util.ArrayListpublic class Test {static void print(ArrayList

求大大讲解个例题

Java code
import java.util.ArrayList;public class Test {        static void print(ArrayList al){                al.add(2);        System.out.println(al.get(0));        System.out.println(al.get(1));        System.out.println();                        al=new ArrayList();        al.add(3);        al.add(4);                System.out.println(al.get(0));        System.out.println(al.get(1));        System.out.println();    }        public static void main(String args[]){        Test test=new Test();        ArrayList al=new ArrayList();        al.add(1);                print(al);        for(int i=0;i<al.size();i++){            System.out.println(al.get(i));        }        System.out.println();        System.out.println(al.get(1));        System.out.println();    }}


预期的结果是4 为啥输出结果是2呢 arraylist 不是引用类型吗? 求大大解释下

[解决办法]
1.static void print(ArrayList alArg)
2. ArrayList al=new ArrayList();
al.add(1);

print(al);

print(al)的参数al和print(ArrayList alArg)的alArg不是一个,alArg是al的副本,与al指向同一个对象。
方法中 alArg=new ArrayList();之后,两者指向的不是同一个对象了。

热点排行