我正在尝试使用
转换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;
有什么问题?
答案 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()并将其设置为字符串数组。