相关疑难解决方法(0)

为什么Java隐式(没有强制转换)将`long`转换为`float`?

每当我想到我对铸造和转换的理解时,我发现了另一种奇怪的行为.

long l = 123456789L;
float f = l;
System.out.println(f);  // outputs 1.23456792E8
Run Code Online (Sandbox Code Playgroud)

鉴于a的long位深度比a大float,我希望为了编译它需要一个显式的强制转换.毫不奇怪,我们发现结果已经失去了精确度.

为什么这里不需要演员?

java casting

36
推荐指数
4
解决办法
4万
查看次数

标签 统计

casting ×1

java ×1