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

你要

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

请参阅此处的文档,并注意您也可以调用此方法,以填充传递的数组,而不是仅使用它来计算返回的types。 另外请注意,也许当你打印你的arrays,你更喜欢

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

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

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

List.toArray()必然返回一个Object数组。 为了得到一个String数组,你需要使用转换语法:

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

有关更多信息,请参阅java.util.List的javadoc。

我已经devise和实施了美元这种任务:

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

希望这可以帮助那里的人:

列表列表= ..;

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

从这里很好的回答: https : //stackoverflow.com/a/4042464/1547266

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

如果你想List转换为string使用StringUtils.join(slist,'\ n');