java - 为什么从 int 到 Long 的隐式转换是不可能的?

标签 java

我可以隐式地将 int 转换为 long,并将 long 转换为 Long。为什么不能将 int 隐式转换为 Long?为什么 Java 不能在示例的最后一行进行隐式转换?

int i = 10; //OK
long primitiveLong = i;  //OK
Long boxedLong = primitiveLong;  //OK
boxedLong = i; //Type mismatch: cannot convert from int to Long

最佳答案

LongInteger 是对象。装箱/拆箱仅适用于基元。 执行 Long boxedLong = i 就像 Long boxedLong = new Integer(10),这是不行的! 另外,请记住 LongInteger 之间没有继承关系,所以即使 Integer i = new Long() 也是无效的

关于java - 为什么从 int 到 Long 的隐式转换是不可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26932336/

相关文章:

java - 在资源文件夹Java中插入图像

Java通用接口(interface)层次结构

java - 无法创建 Liferay 插件项目

c# - C# 中的 Guice 等价物

java - 计算器算法 - 在二叉搜索树上使用迭代而不是递归

java - Selenium 安装障碍 "importfirefoxdriver"

java - 使用 Runtime.exec 从 Java 运行进程 - 退出代码 139

java - Dozer 映射字段类型 ="one-way"未按预期工作

java - 使用 Selenium 将图片固定到板上

java - 在 JAX-RS 响应中使用 ISO-8601 日期