当我使用这些行时:
vector.set(i, copyedVector.clone());
vector holds Vector<String>
copyVector holds strings
当我使用克隆时,它给了我一个错误。但是当我删除克隆时,它工作正常。如何将矢量复制到另一个矢量中?
答案 0 :(得分: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
。因此,您必须明确地转换为所需的数据类型。
答案 1 :(得分:0)
不确定这是否与您要求的完全相同,但如果您想复制所有元素,可以使用addAll方法并传递向量以将元素复制到其中:
http://docs.oracle.com/javase/6/docs/api/java/util/Vector.html#addAll(java.util.Collection)
答案 2 :(得分:0)
试试这个,
vector.set(i, new Vector().addAll(copyedVector));
答案 3 :(得分:0)
试试这个。自己向矢量添加数据。
Vector<T> vector1 = new Vector<T>();
Vector<T> vector2 = new Vector<T>();
vector1.addAll(vector2);