哪一个是整数i = 123的语法糖;?

时间:2012-03-10 04:49:45

标签: java

Integer i = 123;Integer i = new Integer(123);的{​​{1}}语法糖是什么?我如何证明它?给我帮忙?

1 个答案:

答案 0 :(得分:4)

整数i = 123;整数的句法糖i = Integer.valueOf(123);

如何证明?

enter code here

首先,写一个这样的类:

public class IntegerTest {  
public static void main(String[] args) {
    Integer i = 123;
}
}

编译:

javac IntegerTest.java

查看生成的字节码:

javap -verbose IntegerTest

我们会得到:

public static void main(java.lang.String[]);


Code:
   Stack=1, Locals=2, Args_size=1
   0:   bipush  123
   2:   invokestatic    #2; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Int
eger;
   5:   astore_1
   6:   return
  LineNumberTable:
   line 4: 0
   line 5: 6

注意这一行:

invokestatic    #2; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer 

调用java.lang.Integer.valueOf()方法!