在Java中将List 转换为String

我需要从List转换为String[]

我做了:

 List lst ... String arr = lst.toString(); 

但我得到了这个字符串:

 ["...", "...", "..."] 

只是一个字符串,但我需要String []

非常感谢。

你必须遍历列表并填充你的String[]

 String[] array = new String[lst.size()]; int index = 0; for (Object value : lst) { array[index] = (String) value; index++; } 

如果列表是String值,那么List就像调用lst.toArray(new String[0])一样简单;

您可以使用toArray()转换为Object数组,然后使用此方法将对象数组转换为字符串数组:

 Object[] objectArray = lst.toArray(); String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class); 

如果我们非常确定List将包含String集合,那么可能试试这个。

 List lst = new ArrayList(); lst.add("sample"); lst.add("simple"); String[] arr = lst.toArray(new String[] {}); System.out.println(Arrays.deepToString(arr)); 

Java 8可以选择使用以下流:

 List lst = new ArrayList<>(); String[] strings = lst.stream().toArray(String[]::new); 

这里有很多有用的概念:

 List list = new ArrayList(Arrays.asList(new String[]{"Java","is","cool"})); String[] a = new String[list.size()]; list.toArray(a); 

提示打印字符串数组:

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

使用番石榴

 List lst ... List ls = Lists.transform(lst, Functions.toStringFunction());