public class IntegerTest { public static void main(String[] args) { int i = 0; Integer ii = null; System.out.println(i); System.out.println(ii); String ss = "12222221"; //i = Integer.parseInt(ss); i = Integer.valueOf(ss); Integer j=Integer.parseInt(ss, 10);//参数10是基数 System.out.println(j); System.out.println(i); System.out.println(i==j); int k=128; Integer i1=127;//java在编译的时候,被翻译成-> Integer i1 = Integer.valueOf(127); Integer i2=127; System.out.println(i1==i2); Integer iiInteger=128; Integer iInteger=128; System.out.println(iInteger==iiInteger);//比较地址, //注意数值在-128-127之间,会进行缓存,下次会直接从缓存中读取,不会再new了 System.out.println(iInteger); System.out.println(k==iiInteger);//比较值,iiInteger自动拆箱 } }
补充:Integer.valueOf() java
public static Integer valueOf(String s) throws NumberFormatException { return Integer.valueOf(parseInt(s, 10));//persetInt()返回值int类型 }