我需要在两个不同的类中设置和获取 vector ,但我似乎在这个过程中丢失了 vector 的大小。例如,如果我执行 v.size() ,我会得到 100 。然后我使用 setter 。然后在另一个类中我使用 getter 再次访问这个 Vector。如果我在这个新类中执行 v.size() ,我会得到 0。下面的代码是我所拥有的代码的一个粗略示例,因为我无法准确复制粘贴我的代码,因为它是一个更大的私有(private)项目的一部分。
public class Params {
private Vector<Integer> _v = new Vector<Integer>();
public Vector<Integer> get_v(){return _v;}
public void set_v(Vector<Integer> _v){this._v = _v;}
}
public class a {
v.add(10);
System.out.println(v.size()); //returns 1
Params p = new Params();
p.set_v(v);
}
public class b {
Params p = new Params();
v = p.get_v();
System.out.println(v.size()); //Returns 0
}
当您在 b
上创建 Params = new Params()
时,您创建了 Params
类的一个新对象,并且这个新对象在 _v
属性上初始化了一个新的空 Vector。
您应该将在 a
上创建的对象传递给 b
,以便此类可以使用它。
我是一名优秀的程序员,十分优秀!