Converting List<String> to String[] in Java
如何将字符串列表转换为数组?以下代码返回错误。
1 2 3 4 5 6 7
| public static void main (String[] args ) {
List <String > strlist = new ArrayList <String >();
strlist. add("sdfs1");
strlist. add("sdfs2");
String[] strarray = (String[]) strlist. toArray();
System. out. println(strarray );
} |
错误:
- 对于大多数有错误的问题,您应该张贴收到的错误消息。
- 我更喜欢StackOverflow。感谢您在谷歌排名第一。
你想要
有关文档,请参见此处,并注意,您也可以这样调用此方法:它填充传递的数组,而不仅仅是使用它来计算返回的类型。另外请注意,当您打印阵列时,您可能更喜欢
因为这将打印实际元素。
- 使用strlist.toarray(new string[strlist.size()]);通常效率更高。
1 2 3 4 5 6 7 8 9 10 11 12
| public static void main (String[] args ) {
List <String > strlist = new ArrayList <String >();
strlist. add("sdfs1");
strlist. add("sdfs2");
String[] strarray = new String[strlist. size()]
strlist. toArray(strarray );
System. out. println(strarray );
} |
- 我也支持这个版本的toArray方法,因为它重新使用参数strarray,而不是返回一个新的实例。
List.toArray()必须返回一个对象数组。要获取字符串数组,需要使用强制转换语法:
有关更多信息,请参见javadoc for java.util.list。
我为这类任务设计并实现了Dollar:
1
| String[] strarray = $ (strlist ). toArray(); |
- 您的$api看起来很好,也许像'sort'这样的两个方法可以接受比较器,使其更加有用。
- 谢谢!请随意使用BitBucket向我发送补丁或打开功能请求。
- 为了看到您的实现,我必须安装20M程序来"克隆"您的254.3kb源。
- 使用右边的"获取源代码"按钮:这里是最新版本bitback.org/dfa/dollar/get/tip.zip的链接
string[]strarray=strlist.toarray(新字符串[0]);
如果要列表转换为字符串使用StringUtils.join(slist,"");
希望这能帮助其他人:
列表列表=…
string[]stringarray=list.toarray(new string[list.size()]);
很好的答案:https://stackoverflow.com/a/4042464/1547266