gpt4 book ai didi

java - 为什么不能将 double 值转换为 Byte 对象?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:43:58 26 4
gpt4 key购买 nike

为什么不能将原始值(例如 double)转换为对象(例如 Byte)?

double x = 99;
Byte r = (Byte) x; // Error: Cannot cast from double to Byte
System.out.println(r);

最佳答案

Java 不会隐式缩小原始值,例如从 doublebyte,这样您就可以通过装箱转换将其显式转换为 Byte。这可以防止意外丢失精度。

您可以做的是将double 显式转换为byte(小写);然后 Java 将隐式地将 byte 装箱到 Byte 中。当您将原始值显式转换为范围更窄的类型时,您就是在告诉编译器:“是的,我知道我可能会失去精度,但无论如何我都想要这种转换。”

Byte r = (byte) x;

关于java - 为什么不能将 double 值转换为 Byte 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29758217/

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