*/ 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); } 打印结果是 这个很奇怪,不是应该打印 |
|
10分 |
你并没有改变lista这个引用啊,你改变的引用是a、b而已
|
tt.tl(lista, listb);我这里调用了啊 |
|
10分 |
给你打个比方:一把钥匙A能开一道门,用A复制一把B,B同样能开这道门。那么,你把钥匙B修改了,你说钥匙A会变吗?
|
10分 |
你要清楚你有四个引用,两个对象,lista引用没有发身改变,所以是0
|
10分 |
Java 中 是没有指针的,引用是不改变lista的,
|
最后都是lista和listb都指向lista的用
|
|
http://hxraid.iteye.com/blog/428856
|
|
你调用改变的还是引用而已啊 |