首页 > 解决方案 > 如何转换列表> 到对象[][]

问题描述

我有一个构建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[]>

请帮忙Object[][]List<List<String>>?

标签: javaarrayslistcollections

解决方案


最简单的方法可能是流式传输列表,并单独处理子列表:

List<List<String>> list = /* something */
Object[][] result = 
    list.stream()
        .map(List::toArray)
        .toArray(Object[][]::new);

推荐阅读