【问题标题】:Adding to a Vector the value contained in another Vector... Will a change in one reflect in another?将另一个 Vector 中包含的值添加到 Vector... 一个向量的变化会反映在另一个向量中吗?
【发布时间】:2012-01-12 08:56:59
【问题描述】:

我在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() 中。

【问题讨论】:

    标签: java vector pass-by-reference


    【解决方案1】:

    虽然在代码中自己测试然后在此处发布可能更快,但您猜对了

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-21
        • 2015-02-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多