Java 方法调用时,关于引用的有关问题

Java 方法调用时,关于引用的问题
 */
public static void main(String[] args) {
List<String> lista = new ArrayList<String>();
List<String> listb = new ArrayList<String>();
Test tt = new Test();
listb.add("123456");
tt.tl(lista, listb);
System.out.println(lista.size());
System.out.println(listb.size());
}

public void tl(List<String> a,List<String> b){
a = b;
System.out.println(a == b);
}


打印结果是
true
0
1

这个很奇怪,不是应该打印
true
1
1


------解决思路----------------------
你并没有改变lista这个引用啊,你改变的引用是a、b而已
------解决思路----------------------
给你打个比方:一把钥匙A能开一道门,用A复制一把B,B同样能开这道门。那么,你把钥匙B修改了,你说钥匙A会变吗?
------解决思路----------------------
你要清楚你有四个引用,两个对象,lista引用没有发身改变,所以是0

------解决思路----------------------
Java 中 是没有指针的,引用是不改变lista的,Java 方法调用时,关于引用的有关问题