原始数据类型如何可能?

Abh*_*h28 0 java

原始数据类型是否扩展了Object类?如果没有,那么这段代码怎么可能

long l=4567;
Object o=l;
System.out.println(o);
Run Code Online (Sandbox Code Playgroud)

为什么我们不会得到任何编译错误?

Thi*_*ilo 5

它被称为自动装箱,并在Java 5中引入.

编译器将检测您是否使用了应该使用对象的基元并自动插入以下转换:

Object o = Long.valueOf(l);
Run Code Online (Sandbox Code Playgroud)

它也可以反过来(自动拆箱):

Long one = 1;

System.out.println(one + 2);
// gets compiled to
System.out.println(one.longValue() + 2);
Run Code Online (Sandbox Code Playgroud)