我可以隐式地将 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
最佳答案
Long
和 Integer
是对象。装箱/拆箱仅适用于基元。
执行 Long boxedLong = i
就像 Long boxedLong = new Integer(10)
,这是不行的!
另外,请记住 Long
和 Integer
之间没有继承关系,所以即使 Integer i = new Long()
也是无效的
关于java - 为什么从 int 到 Long 的隐式转换是不可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26932336/