gpt4 book ai didi

java - Double 值被装箱,然后立即在 Java 中取消装箱

转载 作者:行者123 更新时间:2023-11-30 08:46:23 25 4
gpt4 key购买 nike

如何避免在我的代码中使用所有类型转换,以免我的值被 sonar 装箱/拆箱?

这是我的代码:

Double value = (Double) input.get(0);

int integer = new Double(value).intValue();

Double dec = Math.abs(value - (new Double(integer ).doubleValue()));

我想尽量避免转换,但我不确定我能否以这种方式将其装箱。

有什么想法吗?

谢谢。

最佳答案

我不确定 input.get() 返回什么类型,所以我假设第一个转换是必要的。您不需要在每一行都实例化新的 Double 对象,您只需调用它的方法来返回您需要的正确键入的值。

Double value       = (Double) input.get();
int integerPart = value.intValue();
double decimalPart = Math.abs(value - integer.doubleValue());

看起来您只是想提取 double 的整数和小数部分,在这种情况下,这段代码更清楚地表达了意图:

Double value       = (Double) input.get();
int integerPart = value.intValue();
double decimalPart = Math.abs(value - Math.floor(value));

关于java - Double 值被装箱,然后立即在 Java 中取消装箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32884249/

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