这段代码的输出结果是什么?为啥会这样
这段代码的输出结果是什么?为什么会这样?如题 我就知道这些 和List不一样[解决办法]Vector v1new Vector(
这段代码的输出结果是什么?为什么会这样?
如题
我就知道这些 和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);
这样对不对
[解决办法]在这里 v1和v3是同一个对象 改变v1相当于改变v3 因为v2里有v1 所以 改变v1和v3时v2也会变 但是改变v2不会影响v1和v3
[解决办法]最后一句不对,改变v2里面的v1会同时影响到v1,v2,v3
((Vector)v2.get(0)).add("3");