java - java自动装箱出错

标签 java autoboxing

谁能说出为什么自动装箱不起作用,以及为什么使用构造函数它可以正常工作:

int intValue = 12;
Double FirstDoubleValue = new Double(intValue);
Double SecondDoubleValue = intValue; // ==> Error

感谢提前:)

最佳答案

The constructor expects a double , 原始类型,在这种情况下,通过 widening primitive conversion , 一个 int可以使用。

然而,在

Double SecondDoubleValue = intValue; // ==> Error

您正在尝试分配 intDouble .这些是不兼容的类型。

请注意 boxing conversion

converts expressions of primitive type to corresponding expressions of reference type

所以int会变成 Integer ,但是Integer仍然与 Double 不兼容.

关于java - java自动装箱出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22649223/

相关文章:

java - 创建新线程的限制

java - 尝试使用 Java 正则表达式解析 HTML 目录列表中的链接

java - java 的内存值

java - 比较盒装 Long 值 127 和 128

java - 当值超过 150 时,int 值不相等?

java - heroku 示例应用程序错误

java - 无法在 AsyncTask 中启动新 Activity

java - Java 中整数比较结果各不相同

java - 为什么整数的自动装箱和拆箱不适用于 Java 中的 Arrays.asList?