java - 将 ArrayList<String> 转换为 String[]

标签 java arrays list casting arraylist

1) 我想知道为什么我不能这样做:

ArrayList<String> entries = new ArrayList<String>();
entries.add("entry");
String[] myentries = (String[])entries.toArray();

这有什么问题? (您可以忽略第二行代码,它与问题无关)

2) 我知道我的目标可以使用此代码实现:

ArrayList<String> entries = new ArrayList<String>();
entries.add("entry");
String[] myentries = new String[entries.size()];
myentries = entries.toArray(myentries)

这是将 ArrayList 转换为字符串数组的首选方法吗?有更好/更短的方法吗?

非常感谢:-)

最佳答案

第一个示例返回一个 Object[],因为列表不知道您想要什么类型的数组,并且不能将其转换为 String[]

你可以让第二个稍微短一点

String[] myentries = entries.toArray(new String[entries.size()]);

关于java - 将 ArrayList<String> 转换为 String[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922211/

相关文章:

java - 无法解析的日期异常 : SimpleDateFormat

c++ - 声明一个大小不变的数组 - 编译错误

python - 将列表元素添加到字典值

java - 单击菜单按钮时尝试显示其中包含文本的框架

java - JRuby:从 Rack 应用程序调用 Java 代码并将其保存在内存中

C将数组索引分配给另一个

python - "Difficult"某些条件下排序

python - 如何拆分字符串中的两个项目?

java - ehcache RMI 配置到 spring

c++ - 我将如何将 AOB 从 Cheat Engine 修改为 C++?