读书人

这段代码的输出结果是什么?为啥会这样

发布时间: 2013-04-20 19:43:01 作者: rapoo

这段代码的输出结果是什么?为什么会这样?
如题

 我就知道这些 和List不一样
[解决办法]
Vector v1=new Vector();         
Vector v2=new Vector();
v1.add("1");
v2.add(v1);
Vector v3 = (Vector)v2.get(0); //(Vector)v2.get(0)==v1 ,所以v3=v1
v3.add("2"); //v3.add("2") ,v1也add("2")了,所以v2也变了
System.out.println("v3:"+v3);
System.out.println("v2:"+v2);


这样对不对
[解决办法]
引用:
引用:Java code
?



12345678

Vector v1=new Vector(); Vector v2=new Vector(); v1.add("1"); v2.add(v1); Vector v3 = (……

在这里 v1和v3是同一个对象 改变v1相当于改变v3 因为v2里有v1 所以 改变v1和v3时v2也会变 但是改变v2不会影响v1和v3
[解决办法]
引用:
引用:引用:Java code
?



12345678

Vector v1=new Vector(); Vector v2=new Vector(); v1.add("1"); v2.add(v1); ……


最后一句不对,改变v2里面的v1会同时影响到v1,v2,v3
((Vector)v2.get(0)).add("3");

读书人网 >Java相关

热点推荐