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

これがまさにあなたが求めているものかどうかはわかりませんが、すべての要素をコピーしたい場合は、 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<T> vector1 = new Vector<T>();
Vector<T> vector2 = new Vector<T>();

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

これを試して、

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