gpt4 book ai didi

Java 将 Arraylist 转换为 float[]

转载 作者:IT老高 更新时间:2023-10-28 20:44:02 29 4
gpt4 key购买 nike

我该怎么做?

我有一个带有 float 元素的数组列表。 (Arraylist <Float>)

(float[]) Floats_arraylist.toArray()

它不工作。

cannot cast from Object[] to float[]

最佳答案

自己循环。

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.
}

为了避免 NullPointerException,nullcheck 是强制性的,因为 Float(一个对象)可以是 nullfloat(原语)根本不能为 null

如果您已经在使用 Java 8 并且使用 double[] 而不是 float[] 结束没有问题,请考虑 Stream#mapToDouble() (不,没有像 mapToFloat() 这样的方法)。

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

关于Java 将 Arraylist<Float> 转换为 float[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4837568/

29 4 0