原生類(lèi)型的autoboxing和auto-unboxing
我們知道,在Java中,int,long等原生類(lèi)型不是一個(gè)繼承自Object的類(lèi),所以相應(yīng)的,有很多操作我們都不能利用原生類(lèi)型操作,比如想要把一個(gè)整數(shù)放入到一個(gè)集合中,我們必須首先創(chuàng)建一個(gè)Integer對(duì)象,然后再將這個(gè)對(duì)象放入到集合中。當(dāng)我們從集合中取數(shù)的時(shí)候,取出來(lái)的是一個(gè)Integer對(duì)象,因此不能直接對(duì)它使用加減乘除等運(yùn)算符,而是必須用Integer.intValue()取到相應(yīng)的值才可以,這樣的過(guò)程稱(chēng)之為boxing和unboxing。
J2SE5.0支持autoboxing和auto-unboxing,也就是說(shuō)我們以后不需要再手動(dòng)地做這些boxing和unboxing操作了,java語(yǔ)言會(huì)替我們完成。具體可以參照下面的示例:
List<Integer> intList=new ArrayList<Integer>();
intList.add(2);
intList.add(new Integer(5));
int i=3+intList.get(0);//i=5
int j=3+intList.get(1); //j=8 |
從這一段程序中我們可以看到,autoboxing和auto-unboxing為我們省掉了很多不必要的工作。
posted on 2005-05-12 10:57
幻 閱讀(1219)
評(píng)論(1) 編輯 收藏 所屬分類(lèi):
編程相關(guān)