1

当我使用这些行时:

vector.set(i, copyedVector.clone());

vector holds Vector<String>

copyVector holds strings

当我使用克隆时,它给了我一个错误。但是当我删除克隆时,它工作正常。如何将一个向量复制到另一个向量中?

4

4 回答 4

2

正如其他人所指出的,尚不清楚您的“向量”变量是向量的向量 ( Vector<Vector<String>>) 还是简单的字符串向量 ( Vector<String>)。请参阅以下代码片段。

Vector<String> destVector = new Vector<String>();
Vector<String> sourceVector = new Vector<String>();
sourceVector.add("A");
sourceVector.add("B");
sourceVector.add("C");
destVector.addAll(0,sourceVector);

// If your target vector is a vector of vectors (of strings)
Vector<Vector<String>> destVector2 = new Vector<Vector<String>>();
destVector2.set(0,(Vector<String>)sourceVector.clone());

另外,请注意该clone方法返回一个Object. 因此,您必须显式转换为所需的数据类型。

于 2012-09-25T03:28:52.220 回答
0

尝试这个。自己将数据添加到向量中。

Vector<T> vector1 = new Vector<T>();
Vector<T> vector2 = new Vector<T>();

vector1.addAll(vector2);
于 2015-04-30T15:07:08.573 回答
0

不确定这是否正是您要问的,但如果您想复制所有元素,您可以使用 addAll 方法并传递向量以将元素复制到其中:

http://docs.oracle.com/javase/6/docs/api/java/util/Vector.html#addAll(java.util.Collection)

于 2012-09-25T02:36:24.650 回答
0

尝试这个,

vector.set(i, new Vector().addAll(copyedVector));
于 2012-09-25T02:54:16.193 回答