[英]How to convert a List<List<String>> to Object[][]
我有一个构建List<List<String>>
对象的方法。 我需要将该列表转换为Object[][]
类型并返回它。 我无法做到这一点,当我将Object[]
添加到列表中时,所有数组元素都作为单个对象添加。
List<Object[]> list = new ArrayList<Object[]>();
list.add(new Object[2]{"A", "B"});
return list.toArray();
在上面的示例中, return list.toArray()
返回Object[]
而不是Object[][]
尽管它被声明为List<Object[]>
;
请帮助从List<List<String>>
获得Object[][]
吗?
最简单的方法可能是流式处理列表,并单独处理子列表:
List<List<String>> list = /* something */
Object[][] result =
list.stream()
.map(List::toArray)
.toArray(Object[][]::new);
只需指定要将其转换为的数组类型。
List<Object[]> list = new ArrayList<Object[]>();
list.add(new Object[] { "A", "B" });
list.add(new Object[] { "C", "D" });
Object[][] o = list.toArray(new Object[][] {});
for (Object[] o1 : o) {
for (Object o2 : o1) {
System.out.print(o2 + " ");
}
System.out.println();
}
此代码输出为:
A B
C D
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.