将对象向量转换为字符串数组

时间:2012-09-29 21:00:07

标签: java

我正在尝试使用

转换Vector具有Objects方法的toString()

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

(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;

有什么问题?

2 个答案:

答案 0 :(得分:3)

您无法将对象强制转换为该对象toString方法的返回类型。您必须在调用Vector时迭代toString个对象来构建新数组。

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

答案 1 :(得分:0)

我想你不能在这里做,因为你的矢量有自定义对象。

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