2012-09-29 46 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