簡體   English   中英

Java如何轉換List<Object[]> 變成一個字符串[]

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM