2012-11-14 108 views
-4

一個問題,我的數組:如何投放一個ArrayList字符串

如果你想爲一個字符串ArrayList中導出到一個字符串數組,你可以嘗試:

ArrayList<String> lines = new ArrayList<String>(); 
... 
lines.add(line); // etc 
... 
return (String[]) lines.toArray(); 

並且得到錯誤:

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String; 
    at wormbase.model.parser.FileParser.getDataObj(FileParser.java:45) 
    at wormbase.model.parser.ModelParser.main(ModelParser.java:18) 

引用this,指定者()將返回的對象不是字符串列表。

return lines.toArray(new String[lines.size()]); 

解決了這個問題。

編輯:感謝gangnamstyleoverflow

+3

你的問題是什麼? –

+0

這不是一個問題,它更像是一種觀察... – Omaha

+1

請閱讀[FAQ]和[Ask]。 SO是用於回答特定問題的,而不是討論板。 –

回答

4

嘗試

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

無參數的toArray返回一個Object []檢查here,從而拋出ClassCastException。 ,而超載toArray(T)返回T []。

+0

OP說他已經知道這一點。 –

+0

@JimGarrison檢查操作的編輯:) – PermGenError

+0

爲什麼'lines.toArray(new String [lines.size()])'而不是'lines.toArray(new String [0])'? – jlordo

相關問題