向Vector添加另一个Vector中包含的值...一个中的更改是否会反映在另一个中?

时间:2011-12-03 22:06:25

标签: java vector pass-by-reference

我在java中有以下两个Vector对象。

Vector<SomeClass> obj1;
Vector<SomeClass> obj2;

SomeClass类有一个int变量a

假设obj2为空,obj1中有一些元素。假设我这样做:

obj2.add(obj1.firstElement()); 
obj2.firstElement().a = 10;  // obj2.firstElement() will be the object that was 
                             //added above because obj2 was empty at first

这会改变obj1.firstElement()中a的值吗?

基本上我只是想知道这些Vector操作是通过引用还是值来完成的。我的猜测是它们是通过引用完成的,这一变化也将反映在obj1.firstElement()中。

2 个答案:

答案 0 :(得分:2)

你是对的,复制了引用(浅拷贝),因此更改也反映在原始向量中。

答案 1 :(得分:0)

虽然在代码中自己测试这个可能更快,然后在这里发布,你已经猜对了