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類型 }