java arrays casting arraylist autoboxing

Java convert Arraylist<Float> para flotar



arrays casting (3)

Bucle sobre usted 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 obligatorio para evitar NullPointerException porque un Float (un objeto) puede ser null mientras que un float (un primitivo) no puede ser null en absoluto.

En caso de que ya estés en Java 8 y no haya problema en terminar con double[] lugar de float[] , considera Stream#mapToDouble() (no, no hay ningún método como mapToFloat() ).

List<Float> floatList = getItSomehow(); double[] doubleArray = floatList.stream() .mapToDouble(f -> f != null ? f : Float.NaN) // Or whatever default you want. .toArray();

¿Como puedo hacer eso?

Tengo una lista de arrays, con elementos flotantes. (Arraylist <Float>)

(float[]) Floats_arraylist.toArray()

no está trabajando.

no se puede convertir desde Object [] a float []


Puede utilizar Apache Commons ArrayUtils.toPrimitive() :

List<Float> list = new ArrayList<Float>(); float[] floatArray = ArrayUtils.toPrimitive(list.toArray(new Float[0]), 0.0F);