/ / Usando Arrays.asList para criar List from Array - java, arrays

Usando Arrays.asList para criar List from Array - java, arrays

Esta postagem mostra que o código abaixo cria um List de uma matriz.

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

Eu estou esperando list para conter 19 elementos, cada um dos quais é 0.0. No entanto, depois de executar o código acima, list contém apenas 1 elemento, que é [0.0, 0.0, ..., 0.0]. Eu estou executando o Java 6 e não tenho certeza se isso está relacionado.

Respostas:

2 para resposta № 1

Não "t usar Tipos brutos. Seu features está vazia. E você não pode fazer uma coleção de um tipo primitivo double, você precisa 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 para resposta № 2

Cada array também é um objeto. Você liga para Arrays.asList cria uma lista com um único elemento, que é a matriz inteira. Então você está criando um List<double[]>, não uma List<Double>. Como você estava usando um tipo bruto, o compilador não localizou esse erro e compilou apenas uma mensagem de aviso. Se você tivesse digitado new ArrayList<Double>(Arrays.asList(features)), seu programa não teria compilado.