この郵便受け 以下のコードは 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))
あなたのプログラムはコンパイルされていないでしょう。