为什么java浮点文本不能升级为double,而我对 Package 类也是这样做的?

dy2hfwbg  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(232)
float num1 = 1.0;

此代码不会编译,因为浮点数是默认的double,除非显式转换,否则不能将其分配给较小的类型。

Float num2 = new Float(2.0);

但是即使2.0是一个双字面值,这段代码也编译得非常完美。有人能给我解释一下第二个样本的情况吗?

hi3rlvi2

hi3rlvi21#

如果你看看这个班 Float ,你会立刻得到答案:

public Float(double value) {
    this.value = (float)value;
}

顺便说一句,你需要做什么 Float num2 = new Float(2.0); , Float num2 = 2.0f; 够了。

相关问题