【发布时间】:2016-12-27 11:14:23
【问题描述】:
我想将此final List <List<Object>> datavalues = new ArrayList<>(); 转换为像String[][] 这样的二维字符串数组。
【问题讨论】:
我想将此final List <List<Object>> datavalues = new ArrayList<>(); 转换为像String[][] 这样的二维字符串数组。
【问题讨论】:
在 Java 8 中你可以这样做
List<List<Object>> values = ...
String[][] valArr = values.stream()
.map(l -> l.stream()
.map(e -> e.toString())
.toArray(n -> new String[n]))
.toArray(n -> new String[n][]);
正如@bohemian 指出的,您可以使用其他 lambda 形式
String[][] valArr = values.stream()
.map(l -> l.stream()
.map(Object::toString)
.toArray(String[]::new))
.toArray(String[][]::new);
:: 表单的问题是它们可能更酷,但它们在做什么更模糊。
在 Java 7 中,您必须使用循环。
【讨论】: