java - 如何在Java中将 float 组转换为 double 组?

标签 java type-conversion

我有一个 float 组,我想将它转换为 Java 中的 double 组。我知道迭代数组并创建一个新数组的明显方式。我希望 Java 能够在希望使用 double[] 的情况下顺利消化 float[] ......但它不能使用这个。 进行这种转换的优雅、有效的方法是什么?

最佳答案

基本上something 必须对每个值进行转换。两种数组类型之间没有隐式转换,因为在 JITting 之后用于处理它们的代码会有所不同——它们具有不同的元素大小,并且 float 需要转换,而 double 则不需要。将此与引用类型的数组协方差进行比较,其中读取数据时不需要转换(例如,字符串引用的位模式与对象引用相同)并且元素大小对于所有引用类型都是相同的。

简而言之,something 必须循环执行转换。我不知道有任何内置方法可以做到这一点。我确定它们存在于某个地方的第三方库中,但除非您碰巧已经在使用其中一个库,否则我只会编写您自己的方法。为方便起见,这里有一个示例实现:

public static double[] convertFloatsToDoubles(float[] input)
{
    if (input == null)
    {
        return null; // Or throw an exception - your choice
    }
    double[] output = new double[input.length];
    for (int i = 0; i < input.length; i++)
    {
        output[i] = input[i];
    }
    return output;
}

关于java - 如何在Java中将 float 组转换为 double 组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2019362/

相关文章:

c++ - 使用 stringstreams 将字符串转换为 __uint128_t

java - 从 BigInteger 转换为 int 是否明智?

ios - Swift 3 中的十进制到 double 转换

包含超过给定长度的非 ASCII 的 Java RegEx 匹配字符串

java - 如何创建一个组合两个变量的变量?

java - 为什么我可以两次声明变量的数据类型?

java - 如何告诉 IntelliJ 在 OSX 上使用 brew 安装的 groovy

java - 完成 Morphia/MongoDB 示例代码

string - 如何在 Excel 中将字符串转换为数字,反之亦然

python - 更改 DataFrame 列类型但对错误使用默认值的简单方法?