<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    mashiguang

    小馬快跑

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      20 隨筆 :: 0 文章 :: 60 評論 :: 0 Trackbacks
    自JDK1.0開始就存在包裝器類,但是在JDK5.0之前,必須手工地插入打包和拆包的代碼.
    JDK5.0中就有了自動打包功能,但在5.0中自動打包時存在一些差異,剛才看《java核心技術第7版》時才發現.

    代碼1:
    Integer a=1000;
    Integer b
    =1000;
    System.out.println(a
    ==b);//false
    代碼2:
    Integer a=100;
    Integer b
    =100;
    System.out.println(a
    ==b);//true
    代碼3:
    Integer a=new Integer(100);
    Integer b
    =new Integer(100);
    System.out.println(a
    ==b);//false

    第一段代碼不成立,而第二段代碼成立的原因是:自動打包
    自動打包規范要求boolean,byte,char≤127,介于-128→127之間的short和int被包裝到固定的對象中.
    打包和拆包是編譯器認可的,而不是虛擬機,編譯器在生成類的字節碼時,插入必要的方法調用,虛擬機只是執行這些字節碼。

    第三段代碼不用多說肯定不成立.

     

    posted on 2007-12-13 17:03 mashiguang 閱讀(1469) 評論(6)  編輯  收藏 所屬分類: java web開發

    評論

    # re: java自動打包的差異 2007-12-13 18:18 德德
    貌似打包這詞看著很不舒服

    裝箱比較好聽點吧


      回復  更多評論
      

    # re: java自動打包的差異[未登錄] 2007-12-14 09:16 paul
    以前沒太注意這個,前短時間看了下 java解惑, java內部的事好多都是我們不知道的,也是應該應該注意的  回復  更多評論
      

    # re: java自動打包的差異 2007-12-14 10:31 mashiguang
    @德德
    我也覺得裝箱更好聽點.

    但從這本書上看來java好像更希望我們稱之為autowrapping,因為autoboxing源于c#.

    其實叫什么都無所謂啦.  回復  更多評論
      

    # re: java自動打包的差異 2007-12-14 11:18 隔葉黃鶯
    這跟自動裝箱關系不大,實質上
    Integer d1 = 200 ;
    調用的是
    Integer d1 = Integer.valueOf(200) ;

    因為緩存中有 -128~127
    所以其中的數字用
    Integer.valueOf()
    Long.valueOf()
    等會反回同一個對象,也因為 Integer/Long等是不變式的,所以可以這么用

    總之不應歸咎到自動裝拆箱的誤,首先要檢討的是你有
    d1==d2
    的形式進行比較的意途是什么,顯然去比較它們的引用基本沒什么意思,既然是比較數值就用
    d1.equals(d2) 或者 d1.intValue()==d2.intValue()
    來比較,也是編程習慣要注意的問題。  回復  更多評論
      

    # re: java自動打包的差異[未登錄] 2007-12-17 01:10 eleven
    樓上的說的對~~!  回復  更多評論
      

    # re: java自動打包的差異[未登錄] 2012-10-19 17:08 王輝
    @隔葉黃鶯
    正解!頂!!!!  回復  更多評論
      

    主站蜘蛛池模板: 啦啦啦高清视频在线观看免费| 日韩电影免费在线观看网站| 很黄很色很刺激的视频免费| 亚洲AV美女一区二区三区| 中国一级特黄的片子免费 | 久久综合久久综合亚洲| 波多野结衣在线免费观看| 亚洲国产成人91精品| 中文字幕无码不卡免费视频| 亚洲熟妇AV一区二区三区浪潮| 日本成人免费在线| 九九视频高清视频免费观看| 中文字幕专区在线亚洲| 国内精品免费视频精选在线观看| 亚洲日本成本人观看| a级片在线免费看| 亚洲精选在线观看| 在线观看免费人成视频色| 亚洲av成人片在线观看| 亚洲区小说区图片区| 日本高清免费观看| 在线观看日本亚洲一区| 免费一级毛片女人图片| 毛片基地看看成人免费| 久久精品亚洲一区二区三区浴池 | 美女裸免费观看网站| 久久亚洲AV永久无码精品| 最近最好最新2019中文字幕免费| 99久久婷婷国产综合亚洲| 亚洲AⅤ无码一区二区三区在线 | 日韩免费在线中文字幕| 久久国产亚洲精品麻豆| 24小时在线免费视频| 亚洲成aⅴ人片久青草影院按摩| 亚洲日本中文字幕一区二区三区| 99久久久国产精品免费蜜臀| 亚洲国产精品日韩av不卡在线| 中文字幕一精品亚洲无线一区| 五月婷婷综合免费| ssswww日本免费网站片| 亚洲一卡2卡4卡5卡6卡残暴在线|