/ 配列からリストを作成するためのArrays.asListの使用 - Java、配列

Arrays.asListを使用してArrayからListを作成する - java、配列

この郵便受け 以下のコードは List アレイから。

double[] features = new double[19];
List<Double> list = new ArrayList(Arrays.asList(features));

私は期待しています list 19個の要素を含み、それぞれ0.0です。しかし、上記のコードを実行した後、 list 1つの要素だけを含みます [0.0, 0.0, ..., 0.0]。私はJava 6を実行していますが、これが関係しているのかどうかわかりません。

回答:

回答№1は2

ドン "t つかいます 生の型。きみの features 空です。そして、あなたはプリミティブ型のコレクションを作ることはできません double、あなたが必要です Double.

Double[] features = new Double[19]; // <-- an Object type
Arrays.fill(features, Double.valueOf(1)); // <-- fill the array
List<Double> list = new ArrayList<Double>(Arrays.asList(features));
System.out.println(list);

回答№2については2

すべての配列もオブジェクトです。あなたが呼ぶ Arrays.asList 配列全体である単一の要素を持つListを作成します。だからあなたは作成しています List<double[]>, ない a List<Double>。生の型を使っていたので、コンパイラはこのエラーを発見せず、警告メッセージだけでコンパイルしました。あなたがタイプしただろうなら new ArrayList<Double>(Arrays.asList(features))あなたのプログラムはコンパイルされていないでしょう。