java - 使用原始 double 值初始化 Double 对象

标签 java autoboxing

当一个 java.lang.Double 对象在没有调用构造函数而是使用原语的情况下被初始化时会发生什么?它似乎有效,但我不太确定为什么。编译器是否正在进行某种隐式转换?这是使用 Java 5。

public class Foo {

    public static void main(String[] args) {
        Double d = 5.1;

        System.out.println(d.toString());

    }

}

最佳答案

这叫做 Autoboxing这是 Java 5 中添加的一个特性。它会自动在基本类型和包装类型之间进行转换,例如 double(基本类型)和 java.lang.Double (对象包装器)。 java 编译器自动转换行:

Double d = 5.1;

进入:

Double d = Double.valueOf(5.1);

关于java - 使用原始 double 值初始化 Double 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3290681/

相关文章:

java - 在JAVA中生成x509certificate certpath

java - 如何绑定(bind)泛型类?

java - 为什么使用 Arrays.sort() 时不允许对原始数组进行自动装箱?

Java 三元运算符 NPE 自动装箱字符串

java - 这真的是扩大与自动装箱吗?

java - 如何找到在eclipse中添加的特定代码行的时间?

Java:将字符串中的字符添加到常量

java - 获取文档 Cloud Firestore 中集合的所有文档

java - 是否有没有自动装箱的舒适数组

java - 自动装箱和原始类型以匹配方法签名