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