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

日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Java的自動拆箱和裝箱

Java的自動拆箱和裝箱

來源:程序員人生   發布時間:2014-10-08 16:33:45 閱讀次數:1857次

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

 

  自動裝箱:(看代碼) 

<span style="font-family:SimSun;font-size:18px;color:#000000;">//自動裝箱:把基本類型用它們所對應的引用類型包裝起來,使它們具有對象的屬性 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這樣的引用類型的對象重新簡化為基本類型的數據。</span> </span>
<span style="font-family:SimSun;font-size:18px;color:#000000;"> int a = new Integer(8);</span>

 

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

 

Java使用自動裝箱和拆箱機制,節省了常用數值的內存開銷和創建對象的開銷,提高了效率。

(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范圍(一般是這個范圍)內向自動裝箱池取緩存內對象用,所以相等,該范圍外是兩個不同對象引用比較,所以不等。(看代碼)

              

<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>


   總結:基本數據類型對應的包裝類型自動裝箱池是有一定的大小的,看源碼就可以了解下

   Int,Byte,Short,Long對應的是-128~127

   Character對應的是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>


 

 

  


 

 

 

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产免费黄色网址 | 色骚网 | 欧美日韩福利 | 亚洲国产精品va在线看黑人动漫 | 日韩av一卡二卡 | 欧美精品久久久久a | 日韩免费一区二区 | 欧美韩日一区 | 可以免费看的毛片 | 嫩草影院免费观看 | 黄色国产大片 | 国产精品久久久久久久久免费 | 欧美91 | 免费人成在线观看网站 | 在线观看日韩精品 | 国产精品久久久久久一区二区三区 | 亚洲欧美中文日韩在线v日本 | 久久久久国产精品免费免费搜索 | 中文字幕av在线播放 | 日韩电影一区二区三区 | 日韩在线视频一区二区三区 | 污网站免费观看 | 免费看a网站 | 热久久只有精品 | 亚洲激情在线 | 精产国产伦理一二三区 | 久久精品久久精品 | 在线观看日韩精品 | 最近中文字幕mv免费高清在线 | 久艹| 久久小草 | 国内久久精品视频 | 中文字幕亚洲一区 | 欧美国产精品一区二区 | 欧美日韩激情在线一区二区三区 | 久久久久国产精品一区二区 | 成人h精品动漫一区二区三区 | av在线一 | 亚洲电影免费观看 | 国产传媒一区 | 免费在线观看污视频 |