人!
如果我们使用Integer对象添加整数,那么运算符+如何实现并在Java内部工作?
package ru.systemres.ru;
public class Main {
public static void main(String[] args) {
Integer iOb = new Integer(10);
int a = iOb + 5;
System.out.println(a);
}
}
是否超载?你能告诉我一些jvm的源代码吗? 谢谢!
答案 0 :(得分:2)
Autoboxing 是Java编译器在基元类型及其对应的对象包装类之间进行的自动转换。
拆箱期间 (Object(Integer) - to - > Primitive(int))
隐式Integer.intValue()
被调用以返回int值。
请参阅:https://docs.oracle.com/javase/tutorial/java/data/autoboxing.html
答案 1 :(得分:0)
iOb
不只是任何旧对象 - 它是Integer
。当您在这样的上下文中使用它时,它outboxed到int
,然后执行计算。
答案 2 :(得分:0)
是否超载?你能告诉我一些来自jvm的源代码吗? 适用它?
它不会超载,而是Integer
iOb
对象首先被取消装箱到int
,然后将5
添加到变量a
。< / p>
我建议您在Java中使用here来提及Autoboxing和Unboxing。