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);