gpt4 book ai didi

java - 转换 Java 数组

转载 作者:搜寻专家 更新时间:2023-11-01 03:04:59 27 4
gpt4 key购买 nike

我想将一个 int 数组转换为一个 double 数组。

所以,当我有

int arr[] = {1, 2, 3}; 

我想使用 arr,比如将它作为 double[] 参数传递到一个方法。

最好的方法是什么?

类型转换

(double[])arr

没用。

我可以遍历arr:

double[] dblA = new double[arr.length];
int ind=0;
for (int x:arr)
dblA[ind++]=x; // (double)x;

有更好的方法吗?

System.arraycopy 没有这样做——不适用于两种不同基本类型的数组。

注:锯Casting Object to Array in Java以及其他一些讨论。

TIA。

最佳答案

使用 Java 7 或更低版本没有简单的解决方法,您只需手动将它们复制过来。

使用 Java 8,您可以更轻松地使用以下流(当然您确实需要遍历数组):

int[] intArray = {1, 2, 3};
double[] doubleArray = Arrays.stream(intArray)
.mapToDouble(i -> i)
.toArray();

这将首先创建一个 IntStream,然后使用转换 IntToDoubleFunction 将它映射到一个 DoubleStream,它映射每个 int i 做相应的 double i。最后,您使用 toArray

收集它

关于java - 转换 Java 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25704077/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com