求解一个纠结的题,该如何处理

求解一个纠结的题Java codepublic class Test{public static void print(ArrayList a1){a1.add(2)a1 ne

求解一个纠结的题

Java code
public class Test{  public static void print(ArrayList a1){      a1.add(2);      a1 = new ArrayList();      a1.add(3);      a1.add(4);  }  public static void main(String[] args){     ArrayList a = new ArrayList();     a.add(1);     print(a);     System.out.println(a.get(1));  }}


最后的结果是什么?为什么?

[解决办法]
2吧! 
个人认为只要你知道把方法中的形式参数换个看看就好 所以你主方法里面调用的和调用方法也就好区分了