3

リストを変換する必要があります:

List<Double> listFoo = new LinkedList<Double>();

double の配列に。だから私は試しました:

double[] foo = listFoo.toArray();

しかし、私はエラーが発生します:

Type mismatch: cannot convert from Object[] to double[]

どうすればこれを回避できますか? リストを繰り返し処理して、配列を段階的に作成することはできますが、この方法ではやりたくありません。

4

3 に答える 3

3

標準の List クラスの toArray() メソッドでプリミティブの配列を作成することはできません。あなたができる最善のことは、ジェネリックメソッドtoArray( T[] )で Double[] を作成することです。

Double[] foo = listFoo.toArray( new Double[ listFoo.size() ] ); 

double[] を作成する簡単な方法の 1 つは、Guava の Doubles クラスを使用することです。

double[] foo = Doubles.toArray( listFoo );
于 2013-05-31T13:24:19.693 に答える