2012-09-29 45 views
0

我想有使用转换对象组成的矢量,以字符串数组

(String[]) mObjectVector.toArray(new String[mObjectVector.size()])

一个 toString()方法转换的 Objects一个 Vector

(String[]) mObjectVector.toArray(new Object[mObjectVector.size()])

然而,给我以下错误:

java.lang.ArrayStoreException: source[0] of type .../myObjectType; cannot be stored in destination array of type [Ljava/lang/String;

java.lang.ClassCastException: [Ljava.lang.Object;

有什么不对?

回答

3

您不能将对象转换为该对象的返回类型toString方法。您必须在调用toString时遍历Vector对象来构建新阵列。

String[] stringArray = new String[mObjectVector.size()]; 
for (int i=0; i < mObjectVector.size(); i++) { 
    stringArray[i] = mObjectVector.get(i).toString(); 
} 
0

我想你不能这样做,因为你的向量具有自定义对象。

您需要手动循环向量并在对象上调用toString()并将其设置为字符串数组。

+0

谢谢,这是伤心的 – sk1ll3r