在 Java 中将 List < String > 转换为 String []

如何将字符串的 名单转换为 数组? 下面的代码返回一个错误。

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);
}

错误:

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
at test.main(test.java:10)
161920 次浏览

你想要的

String[] strarray = strlist.toArray(new String[0]);

有关文档,请参阅 给你,并注意您也可以以这样的方式调用这个方法,即它填充传递的数组,而不是仅仅使用它来计算返回什么类型。还要注意,也许在打印数组时您更喜欢

System.out.println(Arrays.toString(strarray));

因为它会打印出实际的元素。

List.toArray()必须返回一个 Object 数组:

String[] strarray = strlist.toArray(new String[0]);

有关更多信息,请参见 javadoc for java.util. List。

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);




}

我已经为这类任务设计并实现了 一美元:

String[] strarray= $(strlist).toArray();

希望这个能帮到某些人:

列表列表 = . . ;

String [] stringArray = list.toArray (new String [ list.size ()]) ;

很棒的答案: https://stackoverflow.com/a/4042464/1547266

字符串[] strarray = strlist.toArray (new String [0]) ;

如果你想把 List 转换成字符串 使用 StringUtils.join (slist,’n’) ;