原语如何在Java中跳过"新对象"实例化?

Eug*_*ene 3 java primitive object

例如,如果你有一个整数:

int i = 9;
Run Code Online (Sandbox Code Playgroud)

它怎么能这样做?我的意思是完整的语法是:

int i = new Integer(9);
Run Code Online (Sandbox Code Playgroud)

它如何跳过整个新的Integer()部分仍然有效?

谢谢.

Oli*_*rth 9

它不会跳过它,因为基元不是对象.

您的第二行代码涉及自动拆箱,这是Java语言的后续添加.


SLa*_*aks 7

new Integer()不是原始的; 这是一个盒装原语.
实际原语(int等)不是对象,无法实例化.

注意,您也可以编写 Integer x = 9,Java编译器将隐式插入new Integer().
这称为自动装箱.