- 相關(guān)推薦
java包裝類基礎(chǔ)知識
java中為了能將基本類型視為對象來處理,并能連接相關(guān)的方法,java為每個基本類型都提供了包裝類。下面整理了一些關(guān)于java包裝類的基礎(chǔ)知識,一起來看看吧!
java包裝類常用的幾種類型
Boolean,Byte,Short,Character,Integer,Long,Float,Void
包裝類都有共同的方法
帶有基本值參數(shù)并創(chuàng)建包裝類對象的構(gòu)造函數(shù).如可以利用Integer包裝類創(chuàng)建對象,Integer obj=new Integer(145);
帶有字符串參數(shù)并創(chuàng)建包裝類對象的構(gòu)造函數(shù).如new Integer(“45”);
生成字符串表示法的toString()方法,如obj.toString().
對同一個類的兩個對象進(jìn)行比較的equals()方法,如obj1.eauqls(obj2);
生成哈稀表代碼的hashCode方法,如obj.hasCode();
將字符串轉(zhuǎn)換為基本值的 parseType方法,如Integer.parseInt(args[0]);
可生成對象基本值的typeValue方法,如obj.intValue();
包裝類的自動裝箱、自動拆箱
首先,什么是裝箱與拆箱?最簡單的解釋就是把最簡單的數(shù)據(jù)類型用他們相對應(yīng)的引用類型包裝起來,使他們具有對象的特性。例如基本類型int,它所對應(yīng)的包裝類就是Integer。裝箱與拆箱就是int與Integer之間的轉(zhuǎn)換。
為了使我們的操作更加簡單,jdk1.5版本給我們提供了自動拆箱與自動裝箱的功能。例如:
注意:對于Integer的拆裝箱需要注意以下問題
運(yùn)行一下,結(jié)果依次為true,true,false,true
對于a==100,b==200大家應(yīng)該可以理解,作了拆裝箱,這里比較的是他們的值。但是a等于b為什么c就不等于d了?這就需要我們分析一下了
當(dāng)Integer a = 100;這條語句執(zhí)行的時候,java自動把它翻譯成Integer a = Integer.valueOf(100);我們就來看一下valueOf這個函數(shù):
這里看一下,當(dāng)參數(shù)i是屬于整型范圍以內(nèi)的就返回IntegerCache.cache[i]。對于IntegerCache的cache[],我們注意到static {}里面對它進(jìn)行了初始化。new了所有的整型對象出來,而static{}只初始化一次,并且在對象間共享。因此,valueOf函數(shù)返回的是一開始就初始化好了的對象的引用。所以a和b都是同一個引用,因此它們相等。當(dāng)然了,當(dāng)參數(shù)大于127的時候,都是返回的新建對象,因此它們的引用并不等。所以說,對于Integer有特殊的地方,就是它使用了數(shù)組的緩存,目的是為了提高運(yùn)行效率。
【java包裝類基礎(chǔ)知識】相關(guān)文章:
Java基礎(chǔ)知識精選09-07
Java的類07-19
java基礎(chǔ)知識匯總07-22
Java基礎(chǔ)知識概述05-16
java類的構(gòu)成08-02
Java基礎(chǔ)知識點(diǎn)07-07
Java語言編程基礎(chǔ)知識06-16
Java類加載器類介紹06-13
淺談Java類與類之間的關(guān)系09-03
java語言類的嵌入08-01