這個(gè)新特性是對(duì)于基本類(lèi)型及其包裝器說(shuō)的。下面的程序:
int i = newInteger(1);
?
這個(gè)在JDK1.4里面是無(wú)法想象的。把一個(gè)對(duì)象賦值給一個(gè)基本類(lèi)型數(shù)據(jù)?
?
在JDK1.4下,應(yīng)該是這樣的:
?
int i = newInteger(1).intValue();
?
由于J2SE5.0支持了自動(dòng)拆包,所以自動(dòng)將Integer對(duì)象拆包成為int類(lèi)型,所以J2SE5.0下不再需要寫(xiě).intValue了。
?
另外一個(gè)方法:
?
void doSth(Integer i);
?
調(diào)用的時(shí)候,如下寫(xiě):
?
int i = 3;
soSth(i);
soSth(i);
?
JDK1.4下午沒(méi)試過(guò),但估計(jì)是不可以的。J2SE5.0下這個(gè)可以正常編譯,運(yùn)行,實(shí)際上是利用了新版本的JDk的自動(dòng)打包功能。自動(dòng)將int類(lèi)型的i打包成為Integer類(lèi)型的對(duì)象。
以上,類(lèi)似的對(duì)于boolean--Boolean,float--Float還有其他的基本類(lèi)型及其包裝器,都成立。
?
最后說(shuō)一句霧中的狼告訴我的話:Hibernate建議使用類(lèi),而不要使用基本類(lèi)型。