亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

java包裝類基礎(chǔ)知識

時間:2024-08-10 12:14:45 java語言 我要投稿
  • 相關(guān)推薦

java包裝類基礎(chǔ)知識

  java中為了能將基本類型視為對象來處理,并能連接相關(guān)的方法,java為每個基本類型都提供了包裝類。下面整理了一些關(guān)于java包裝類的基礎(chǔ)知識,一起來看看吧!

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