自JDK1.0開始就存在包裝器類,但是在JDK5.0之前,必須手工地插入打包和拆包的代碼.
JDK5.0中就有了自動打包功能,但在5.0中自動打包時存在一些差異,剛才看《java核心技術(shù)第7版》時才發(fā)現(xiàn).
代碼1:
Integer a=1000;
Integer b=1000;
System.out.println(a==b);//false
代碼2:
Integer a=100;
Integer b=100;
System.out.println(a==b);//true
代碼3:
Integer a=new Integer(100);
Integer b=new Integer(100);
System.out.println(a==b);//false
JDK5.0中就有了自動打包功能,但在5.0中自動打包時存在一些差異,剛才看《java核心技術(shù)第7版》時才發(fā)現(xiàn).
代碼1:









第一段代碼不成立,而第二段代碼成立的原因是:自動打包
自動打包規(guī)范要求boolean,byte,char≤127,介于-128→127之間的short和int被包裝到固定的對象中.
打包和拆包是編譯器認(rèn)可的,而不是虛擬機,編譯器在生成類的字節(jié)碼時,插入必要的方法調(diào)用,虛擬機只是執(zhí)行這些字節(jié)碼。
第三段代碼不用多說肯定不成立.