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()
public static Integer valueOf(String s) throws NumberFormatException {
return Integer.valueOf(parseInt(s, 10));//persetInt()返回值int类型
}