[英]Java how to convert List<Object[]> into a String[]
我找到了很多convert List< Object >
為String[]
但它不適用於List< Object[] >
。 我收到錯誤:
java.lang.RuntimeException: java.lang.ClassCastException:
[Ljava.lang.String; cannot be cast to java.lang.String
代碼:
public String[] listToArray(List<Object[]> inputList) {
String[] outputArray = new String[inputList.size()];
int index = 0;
for(Object obj : inputList) {
outputArray[index] = (String) obj;
index++;
}
return outputArray;
}
以下是我對您的代碼所做的更改,以克服可能發生的類轉換異常和其他可能的異常。 您的列表包含 object[] 而不是 Object。 因此,轉換為 String 會引發錯誤。 您可以通過在 2 個級別迭代它來避免它,一個用於列表中的每個對象 [],然后是對象 [] 中的每個對象。 由於您的 List 是 Object[] 類型,因此您初始化列表大小的 String[] 的代碼在所有情況下都不正確,您最終可能會遇到 Array index out of bounds 異常,因此我將每個字符串添加到列表中,然后轉換在最后一步列出到數組。
public static String[] listToArray(List<Object[]> inputList) {
List<String> outputList = new ArrayList<String>();
for(Object[] obj : inputList) {
for(Object obj1 : obj)
{
outputList.add((String) obj1);
}
}
return outputList.toArray(new String[outputList.size()]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.