如何在Java中将浮点数组转换为双精度数组?

fifigyuri:

我有一个浮点数组,我想将其转换为Java中的双精度数组。我知道迭代数组并创建新数组的明显方法。我希望Java在希望与double []一起工作的地方能够平稳地消化float [] ...,但不能与此一起工作。进行这种转换的优雅,有效的方法是什么?

乔恩·斯基特(Jon Skeet):

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将双精度数组转换为浮点数组

如何在Java中将双精度数组转换为整数数组?

如何将 4 个浮点数的 ps 向量转换为 4 个双精度数并存储到 pd 数组?

如何将不同符号的浮点数转换为双精度数?

如何在一行中将字符串数组转换为双精度数组

将灰度数组转换为浮点数组

如何在C ++中将浮点数组转换为字节数组(Arduino)

如何在c#中将浮点数组转换为字节数组?

在C ++中将浮点数转换为双精度数并转换回浮点数是否具有相同的值

如何在Ruby中将64位二进制字符串转换为双精度浮点数?

如何在C#中将双精度数组转换为整数?

如何在javascript中将stringyfied数组值转换为浮点数

在javascript中将数组转换为字符串,同时控制浮点数的精度

在ElasticSearch中将双精度数组转换为密集向量

如何在Swift 4中将String的金字塔类型转换为双精度数组

在没有内存分配的情况下,在 C# 中将浮点数/双精度数/十进制数转换为 (u)int、(u)long

java将对象转换为双精度数组

如何在Python中将numpy转换为浮点数

如何在JavaScript中将浮点数转换为整数?

如何在 OpenCL 中将 int 转换为浮点数?

如何在Elixir中将浮点数转换为整数

如何在PHP中将数字转换为浮点数

如何在javascript中将双精度(64位)数字转换/存储为32位浮点数或UInt16

将双精度对转换为双精度数组

C ++函数可以采用整数或浮点数或双精度数或任何其他可转换浮点数

从浮点数到双精度并重新转换为浮点数的转换而不会损失精度

在Python 3中将字节数组转换为浮点数组

在C#中将字符串数组转换为浮点数组

指定的类型转换无效-浮点数列表的双精度数列表