我有一个列表如下:
List<Integer> arrInt={2,3,5};
我想将此数组列表转换为数组 float 。
float[] result={2,3,5};
我的代码:
public float[] convertIntToFloat(List<Integer> arr)
{
List<Float> arrResult=new ArrayList<Float>();
for(int i=0;i<arr.size();i++)
{
float x=i;
arrResult.add(x);
}
float result[]=arrResult.toArray( new float[arr.size()]); //Error
return result;
}
但它在我的代码中显示错误,如上所述。 你能帮我吗?
最佳答案
List.toArray(T[])
接受包装器类型的数组,而不是原始类型。
你应该这样做:
Float result[] = arrResult.toArray( new Float[arr.size()]);
但是,这确实不是必需的。因为,现在您必须将其转换为原始类型数组。这也太过分了吧?
可以直接创建float[]
数组,而不是通过 ArrayList<Float>
。只需更改您的 arrResults
声明至:
float[] arrResults = new float[arr.size()];
在 for 循环中,使用以下方法将元素添加到数组中:
for(int i = 0; i < arr.size(); ++i) {
arrResults[i] = arr[i];
}
关于java - 从 List<Integer> 转换为数组 float[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17906353/