3

Javaで配列のリストを2次元配列に変換する方法は?

//Prepare the list
List<Object[]> conf = new LinkedList<Object[]>();
conf.add(new Object[]{ "FOO", "BAR"});
conf.add(new Object[]{ "FOO", "BAR"});

私は試した:

Object[][] array = (Object[][]) conf.toArray(new Object[0]);

しかし、それは失敗しますClassCastException:

java.lang.RuntimeException: java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [[Ljava.lang.Object;
4

1 に答える 1

9

角かっこのペアがありません:

    Object[][] array = conf.toArray(new Object[0][]);
                                                 ^^

または、不要なメモリ割り当てを 1 つ節約したい場合は、次のようにします。

    Object[][] array = conf.toArray(new Object[conf.size()][]);

引数 toが正しい型になっObject[][]たら、to へのキャストは不要です。toArray()

于 2013-04-10T07:51:18.800 に答える