¿Cómo puedo hacer eso?Java convert Arraylist <Float> para flotar []
Tengo un arraylist, con elementos flotantes. (Arraylist <Float>)
(float[]) Floats_arraylist.toArray()
no funciona.
no puede lanzar desde Object [] para flotar []
¿Cómo puedo hacer eso?Java convert Arraylist <Float> para flotar []
Tengo un arraylist, con elementos flotantes. (Arraylist <Float>)
(float[]) Floats_arraylist.toArray()
no funciona.
no puede lanzar desde Object [] para flotar []
bucle sobre sí mismo.
List<Float> floatList = getItSomehow();
float[] floatArray = new float[floatList.size()];
int i = 0;
for (Float f : floatList) {
floatArray[i++] = (f != null ? f : Float.NaN); // Or whatever default you want.
}
El nullcheck es obligatoria para evitar NullPointerException
porque una (un objeto) Float
puede ser null
mientras que un float
(una primitiva) no puede ser null
en absoluto.
En caso de que esté en Java 8 ya y no hay ningún problema para terminar con double[]
en lugar de float[]
, considere Stream#mapToDouble()
(sin no hay tal método mapToFloat()
).
List<Float> floatList = getItSomehow();
double[] doubleArray = floatList.stream()
.mapToDouble(f -> f != null ? f : Float.NaN) // Or whatever default you want.
.toArray();
Tal fastidio. Eso solía ser tan fácil en C#. – PawelP
En días como este, odio Java. –
Puede utilizar Apache Commons ArrayUtils.toPrimitive()
:
List<Float> list = new ArrayList<Float>();
float[] floatArray = ArrayUtils.toPrimitive(list.toArray(new Float[0]), 0.0F);
La inversa de esta: http://stackoverflow.com/questions/2585907/is-there-a-native-java-method-to-box- an-array –
'int s = list.size(); float [] a = nuevo float [s]; for (int i = 0; i
bestsssDiferente tipo primitivo, pero esencialmente la misma pregunta: [Creando un byte \ [\] de una lista] (http://stackoverflow.com/questions/1565483/creating-a-byte-from-a-listbyte) –
finnw