-4

我遇到的一个问题:

如果要将字符串的 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, toArray() 将返回对象列表而不是字符串。

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

解决了这个问题。

编辑:感谢 gangnamstyleoverflow

4

1 回答 1

4

尝试

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

no args toArray 返回一个 Object[] check here,因此 ClassCastException。而重载的toArray(T)返回一个 T[]。

于 2012-11-14T19:28:38.023 回答