【问题标题】:Does JVM create Objects of primitive types at runtime in java? [duplicate]JVM 是否在运行时在 java 中创建原始类型的对象? [复制]
【发布时间】:2018-12-29 03:05:01
【问题描述】:

这可能是一个愚蠢的问题,但因为我要创建一个算术异常情况,即 44/0 ...我在下面的程序中创建了这个

public class Simple{
  public static void main(String args[]){
    float a = 78.0f;
    float b= 0.0f;
    float c= a/b;
    System.out.println(c);
  }
}

结果:

Infinity

但正无穷大是 Float Wrapper 类中的最终静态字段。那么这是否意味着每个原语在运行时都被自动装箱为包装类对象?如果不是,那它怎么会返回无穷大?

【问题讨论】:

    标签: java wrapper primitive-types


    【解决方案1】:

    Float.POSITIVE_INFINITYFloat 类的静态字段,是的。但它是float 类型(不是Float),所以它本身就是一个原语。这里没有拳击比赛。

    事实上,float,作为IEEE 754 single-precision floating point number,不仅可以保存一系列常规浮点数,还可以保存一些特殊值,例如 ±∞ 和 NaN。而且因为 Java 没有特殊的语法来写入这些值,所以它们在 Float 类中作为静态字段提供。

    【讨论】:

    • Aww 谢谢.. 我注意到它的类型是浮动的,但我很困惑它将如何保持该值.. 非常感谢。将在 4 分钟内接受您的回答 :)
    猜你喜欢
    • 1970-01-01
    • 2017-03-29
    • 2012-06-22
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 2011-02-01
    相关资源
    最近更新 更多