我在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()
中。
答案 0 :(得分:2)
你是对的,复制了引用(浅拷贝),因此更改也反映在原始向量中。
答案 1 :(得分:0)
虽然在代码中自己测试这个可能更快,然后在这里发布,你已经猜对了