tre*_* hh 0 java arraylist valueconverter
我有一个列表如下:
List<Integer> arrInt={2,3,5};
Run Code Online (Sandbox Code Playgroud)
我想将这个arraylist转换为数组float.
float[] result={2,3,5};
Run Code Online (Sandbox Code Playgroud)
我的代码:
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;
}
Run Code Online (Sandbox Code Playgroud)
但它在我的代码中显示错误,如上所述.你能帮助我吗?
List.toArray(T[])
采用Wrapper类型的数组,而不是基本类型.
你应该这样做:
Float result[] = arrResult.toArray( new Float[arr.size()]);
Run Code Online (Sandbox Code Playgroud)
但是,这真的不是必需的.因为,现在你必须将它转换为原始类型数组.那太对了?
你可以直接创建一个float[]
数组,而不是通过一个数组ArrayList<Float>
.只需将您的arrResults
声明更改为:
float[] arrResults = new float[arr.size()];
Run Code Online (Sandbox Code Playgroud)
在for循环中,使用以下命令向数组添加元素:
for(int i = 0; i < arr.size(); ++i) {
arrResults[i] = arr[i];
}
Run Code Online (Sandbox Code Playgroud)