//自動裝箱:把基本類型用它們所對應(yīng)的引用類型包裝起來,使它們具有對象的屬性Integer integer_a">

多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 互聯(lián)網(wǎng) > Java的自動拆箱和裝箱

Java的自動拆箱和裝箱

來源:程序員人生   發(fā)布時間:2014-10-08 16:33:45 閱讀次數(shù):1854次

  Java 1.5中引入了自動裝箱和拆箱機制

 

  自動裝箱:(看代碼) 

<span style="font-family:SimSun;font-size:18px;color:#000000;">//自動裝箱:把基本類型用它們所對應(yīng)的引用類型包裝起來,使它們具有對象的屬性 Integer integer_a = 8; </span>

 

  自動拆箱:(看代碼)

<span style="font-family:SimSun;font-size:18px;color:#000000;">//自動拆箱:<span style="font-family:SimSun;font-size:12px;color:#000000;">將Integer這樣的引用類型的對象重新簡化為基本類型的數(shù)據(jù)。</span> </span>
<span style="font-family:SimSun;font-size:18px;color:#000000;"> int a = new Integer(8);</span>

 

注意:自動裝箱和拆箱是由編譯器來完成的,編譯器會在編譯期根據(jù)語法決定是否進行裝箱和拆箱動作。

 

Java使用自動裝箱和拆箱機制,節(jié)省了常用數(shù)值的內(nèi)存開銷和創(chuàng)建對象的開銷,提高了效率。

(1)Integer和 int之間可以進行各種比較,Integer對象將自動拆箱后與int值比較(看代碼)

      

<span style="font-family:SimSun;font-size:18px;color:#000000;"> Integer integer_a = 8; int a = 8; System.out.println(integer_a == a);// true System.out.println(integer_a > a);// false System.out.println(integer_a < a); // false Integer integer_b = 200; int b = 200; System.out.println(integer_b == b);// true System.out.println(integer_b > b); // false System.out.println(integer_b < b); // false </span>


 


 

(2)兩個Integer對象之間也可以用>、<等符號比較大小,兩個Integer對象都拆箱后,再比較大小(看代碼)

              

<span style="font-family:SimSun;font-size:18px;color:#000000;"> Integer integer_c=8; Integer integer_d=200; System.out.println(integer_c>integer_d);//false System.out.println(integer_c<integer_d);//true</span>


 

(3) 兩個Integer對象最好不要用==比較。因為:-128~127范圍(一般是這個范圍)內(nèi)向自動裝箱池取緩存內(nèi)對象用,所以相等,該范圍外是兩個不同對象引用比較,所以不等。(看代碼)

              

<span style="font-family:SimSun;font-size:18px;color:#000000;"> Integer integer_a_one = -128; Integer integer_b_one = -128; System.out.println(integer_a_one == integer_b_one);// true Integer integer_a_two = 127; Integer integer_b_two = 127; System.out.println(integer_a_two == integer_b_two);// true Integer integer_c_one = -129; Integer integer_d_one = -129; System.out.println(integer_c_one == integer_d_one);// false Integer integer_c_two = 128; Integer integer_d_two = 128; System.out.println(integer_c_two == integer_d_two);// false</span>


   總結(jié):基本數(shù)據(jù)類型對應(yīng)的包裝類型自動裝箱池是有一定的大小的,看源碼就可以了解下

   Int,Byte,Short,Long對應(yīng)的是-128~127

   Character對應(yīng)的是0~127

   Float和Double沒有自動裝箱池(看代碼)

  

<span style="font-family:SimSun;font-size:18px;color:#000000;"> Float fa=3f; Float fb=3f; System.out.println(fa==fb);//false Double da=3d; Double db=3d; System.out.println(da==db);//false</span>


 

 

  


 

 

 

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 福利片免费一区二区三区 | 久久综合九九亚洲一区 | 波多野结衣资源在线观看 | 亚洲成人精品久久 | 羞羞视频免费入口网站 | 成人区精品一区二区不卡亚洲 | 超清中文乱码精品字幕在线观看 | 亚洲在线免费免费观看视频 | 99久久精品毛片免费播放 | 国产成人啪精品视频免费网 | 男女一区二区三区免费 | 性色免费视频 | 成年人性生活免费视频 | 国产第一页无线好源 | 亚洲欧美人成人综合在线50p | 亚洲欧洲综合 | 国产欧美日韩另类一区乌克兰 | 女人18毛片a| 黄色网址在线免费 | 美女网站在线观看视频免费的 | 久久三级毛片 | 亚洲 欧美 精品 | 91久久精品都在这里 | 精品国产免费福利片 | 亚洲国产精久久久久久久春色 | 亚洲精品国产福利一区二区三区 | 亚洲免费成人在线 | 香蕉高清免费永久在线视频 | 秋霞网毛片 | tom影院亚洲国产日本一区 | 在线观看国产情趣免费视频 | 麻豆精品不卡国产免费看 | 亚洲精品国产字幕久久不卡 | 国产理论自拍 | xxx日韩| 午夜影院亚洲 | 高清 国产 日韩 欧美 | 久久中精品中文 | 日产精品一区二区三区免费 | 久久99精品久久久久久三级 | 国产欧美一区二区久久 |