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