Number Class in java



Number类是一个抽象类,您不能使用new操作符从中生成对象,但我们可以使用该类作为引用类型,我想对以下代码进行一些解释:

public class Test {
public static void main(String[] args) {
Number x = 3;
System.out.println(x.intValue());
System.out.println(x.doubleValue());
}
}

输出为3和3.0

那么,在这行Number x = 3;中是否有任何自动装箱或拆箱(这是超类不能发生的)发生?还是别的什么?这里的任务是怎么完成的?

方法doubleValueNumber中的abstract,但是当您执行

时,您正在存储Integer(通过自动装箱)
Number x = 3; // This is Number x = Integer.valueOf(3);

Integer.doubleValue()表示在扩展原语转换后返回该Integer的值为双精度类型。然后向读者引用JLS-5.1.2。扩展原语转换。这部分说明,在以下情况下,扩展原语转换不会丢失有关数值的总体大小的信息,其中数值完全保留:然后列出(特定于这种情况)intdouble

相关内容

  • 没有找到相关文章

最新更新