java - Collection.toArray() 方法,详细信息

标签 java arrays list arraylist toarray

为什么它不起作用?

List<String> lista = new ArrayList<>();
        lista.add("Lol");
        lista.add("ball");
        String [] array = (String[])lista.toArray();

它抛出一个RunTimeException (ClassCastException),我知道还有另一种方法可以返回列表中包含的对象,但是幕后发生了什么?我的意思是我正在将一个对象数组(实际上是一个字符串数组)转换为一个字符串数组。所以它应该编译,但没有编译。 提前致谢。

最佳答案

该版本的 toArray() 返回 Object[]。即使其中的所有对象都是字符串,也无法将对象数组转换为字符串数组。

您可以使用lista.toArray(new String[lista.size()]);版本来正确获取实际类型。

关于java - Collection.toArray() 方法,详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18482515/

相关文章:

JavaScript:在 while 循环中更改对象中的值

c# - 将 javascript 数组传递给 c# 方法

list - 方案列表等价比较

python - 从列表中返回随机子子列表及其索引

c# - ASP.NET C# 列出哪个和什么时候?

java - GWT SuggestBox : How do I force the SuggestBox to select the first item in the suggestion list?

java - 计算每分钟在java中出现的次数

arrays - 如何在 TypeScript 中向对象数组添加具有不同值的新属性?

JAVA如何检查数组参数

java - 将新闻更新集成到单个应用程序中