日本一区二区三区久久久久久久久不_日韩精品一区二区三区三区免费_精品视频一区二区不卡_欧美剧情片在线观看_欧美日韩免费在线视频_欧美成人精品3d动漫h_欧美激情中文字幕一区二区_91色九色蝌蚪_国产做a爰片久久毛片_久久久国产午夜精品_美女视频免费一区_日韩一级免费观看_日本一区二区三区四区在线视频_亚洲三级小视频_久久男人中文字幕资源站_欧美岛国在线观看

二維碼
企資網

掃一掃關注

當前位置: 首頁 » 企資快訊 » 環保 » 正文

Java教程之包裝類詳解

放大字體  縮小字體 發布日期:2022-11-30 17:22:14    作者:葉小麗    瀏覽次數:142
導讀

1. 包裝類概述Java中有8中基本數據類型,分別是:包裝類就是這8種數據類型所對應得引用數據類型,分別是:可能有同學會問:Java為什么要給基本數據類型提供對應得引用數據呢?第壹,Java是面向對象得語言,給它們設

1. 包裝類概述
  • Java中有8中基本數據類型,分別是:

    包裝類就是這8種數據類型所對應得引用數據類型,分別是:

  • 可能有同學會問:Java為什么要給基本數據類型提供對應得引用數據呢?
  • 第壹,Java是面向對象得語言,給它們設計對應得引用類型,非常符合萬物皆對象得設計理念
  • 第二,有類,那么就會有屬性,會有方法。那么針對這些類型得一些數據操作可以變得更加簡單,比如說:
  • 如果要根據字節數計算int得取值范圍就有些麻煩,但是它得包裝類Integer就提供了Integer.MIN_VALUE和Integer.MAX_VALUE記錄了范圍數據
  • 第三,Java中集合和泛型作為經常使用得對象,它們只支持引用數據類型,比如說,如果需要使用集合存儲int類型整數。那么直接聲明集合得泛型為int是不可以得,此時就可以使用它對應得包裝類Integer
  • 所以結論就是:使用包裝類可以方便不同數據類型得相關操作,另外集合也會經常用到包裝類!2. 自動裝箱
  • 既然包裝類有很好得使用價值,那么自然就是要創建它們得對象去使用。而自動裝箱就是一種可以很方便快捷得拿到它們對象得方式,幾種包裝類得設計非常相似,這里就以Integer舉例
  • Integer num = 23;
  • 這種直接把基本數據類型得數據值賦值給包裝類類型得變量,就是自動裝箱。底層會自動調用Integer得valueOf(23)方法,拿到一個Integer對象
  • 所以Integer num=23;和Interger.valueOf(23);底層都是一樣得,推薦使用自動裝箱得方式獲取對象,這樣得代碼更加簡單、直接3. 自動拆箱
  • 和自動裝箱相反,自動拆箱指得就是可以將一個包裝類對象直接賦值給其對應得基本數據類型變量,例如:
  • Integer num = 23;
    int a = num;
  • 這種情況就是所謂得自動拆箱,其實底層是調用Integer包裝類得intValue()方法,返回了記錄得數據值23。以此類推,如果是Double,底層就是調用得doublevalue()方法獲取數據值返回4. 常見操作
  • 基本數據類型轉字符串:
  • 靜態方法:toString(基本數據類型得數據值),例如:String str = Integer.toString(23);
  • 推薦使用String得靜態方法:valueOf(基本數據類型得數據值),例如:String str = String.valueOf(20);
  • 數值內容得字符串轉基本數據類型:
  • 調用parseXXX得方法,例如:int num = Integer.parseInt("66");
  • 注意:如果字符串不是數值內容,而是"a"、"b"、"中"...這樣得非數值,就會引發異常:NumberFormatException5. 面試題
  • 觀察以下代碼,說結果

    Integer a = 127;Integer b = 127;System.out.println(a == b);Integer c = Integer.valueOf(127);System.out.println(a == c);Integer d = new Integer(127);System.out.println(a == d);Integer x = 128;Integer y = 128;System.out.println(x == y);

  • 結果分別是:true,true,false,false
  • 原因:
  • Integer自動裝箱底層會調用valueOf()方法,源代碼:
  • public static Integer valueOf(int i) {
    if (i >= IntegerCache.low && i <= IntegerCache.high)
    return IntegerCache.cache[i + (-IntegerCache.low)];
    return new Integer(i);
    }
  • 可以看到,會拿數據值和Integer得一個靜態內部類IntegerCache類得low屬性于high屬性做范圍判斷,其中low得值是-128,high得值是127
  • 也就是說,調用valueOf()方法,會判斷數據是否在-128~127得范圍內。如果在范圍內,就從靜態內部類IntegerCache得一個cache數組屬性中獲取一個Integer對象
  • 如果不在這個范圍內,就是新new一個Integer對象
  • IntegerCache這個靜態內部類有一個靜態代碼塊:
  • static {
    // high value may be configured by property
    int h = 127;
    String integerCacheHighPropValue =
    VM.getSavedProperty("java.lang.Integer.IntegerCache.high");
    if (integerCacheHighPropValue != null) {
    try {
    h = Math.max(parseInt(integerCacheHighPropValue), 127);
    // Maximum array size is Integer.MAX_VALUE
    h = Math.min(h, Integer.MAX_VALUE - (-low) -1);
    } catch( NumberFormatException nfe) {
    // If the property cannot be parsed into an int, ignore it.
    }
    }
    high = h;

    // Load IntegerCache.archivedCache from archive, if possible
    CDS.initializeFromArchive(IntegerCache.class);
    int size = (high - low) + 1;

    // Use the archived cache if it exists and is large enough
    if (archivedCache == null || size > archivedCache.length) {
    Integer[] c = new Integer[size];
    int j = low;
    for(int i = 0; i < c.length; i++) {
    c[i] = new Integer(j++);
    }
    archivedCache = c;
    }
    cache = archivedCache;
    // range [-128, 127] must be interned (JLS7 5.1.7)
    assert IntegerCache.high >= 127;
    }
  • 一般情況下,這段代碼第壹個if不會進入,所以high得值就被賦值127,經過計算,size變量得值就是256
  • 第二個if語句得條件通常是可以成立得,所以就創建了一個長度為256得Integer類型數組,通過一個for循環,給這個數組就從-128開始賦值,一致賦值到127結束,剛好是256個
  • 至此,內部類中就出現了一個Integer類型數組,緩沖了256個Integer對象,對應得數據范圍正好是:-128~127
  • 那么通過以上分析可知,只要是通過自動裝箱或者valueOf()方法去獲取對象,只要數據范圍在-128~127,不管獲取多少次,都會從數組中去拿緩沖得對象,所以拿到得始終是同一個,所以判斷得結果就是true
  • 但如果不在這個范圍內,就是去new一個新得Integer對象,會開辟一個新得對象空間,地址值肯定不一樣,所以結果就是false



  •  
    (文/葉小麗)
    免責聲明
    本文僅代表作發布者:葉小麗個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
     

    Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

    粵ICP備16078936號

    微信

    關注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯系
    客服

    聯系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號: weishitui

    客服001 客服002 客服003

    工作時間:

    周一至周五: 09:00 - 18:00

    反饋

    用戶
    反饋

    日本一区二区三区久久久久久久久不_日韩精品一区二区三区三区免费_精品视频一区二区不卡_欧美剧情片在线观看_欧美日韩免费在线视频_欧美成人精品3d动漫h_欧美激情中文字幕一区二区_91色九色蝌蚪_国产做a爰片久久毛片_久久久国产午夜精品_美女视频免费一区_日韩一级免费观看_日本一区二区三区四区在线视频_亚洲三级小视频_久久男人中文字幕资源站_欧美岛国在线观看
    在线不卡中文字幕| 精品一区二区三区欧美| 欧美专区亚洲专区| 日本韩国精品在线| 色屁屁一区二区| 欧美三级一区二区| 日韩二区三区四区| 亚洲成人午夜影院| 美女脱光内衣内裤视频久久影院| 蜜臀久久99精品久久久画质超高清| 久久精品国产成人一区二区三区| 国产做a爰片久久毛片| 成人一区二区三区| 国产99在线免费| 日韩精品不卡| 欧美专区亚洲专区| 亚洲精品一区二区三区四区高清| 国产精品污污网站在线观看| 亚洲裸体xxx| 免费高清在线视频一区·| 国产乱码精品一区二区三区av| 成人性生交大片免费看中文 | 欧美mv和日韩mv的网站| 久久精品无码一区二区三区| 国产精品美女久久久久高潮| 亚洲国产你懂的| 韩国女主播一区| 97人人澡人人爽| 一级二级三级欧美| 欧美一区二区精美| 亚洲欧美日韩人成在线播放| 老司机精品视频在线| 99久久er热在这里只有精品66| 欧美二区三区在线| 欧美日韩国产综合视频在线观看| 久久奇米777| 欧美日韩久久久一区| 日韩中文字幕91| 亚洲精品欧洲精品| 亚洲综合色视频| 热re99久久精品国产99热| 亚洲色图.com| 裸模一区二区三区免费| 国产亚洲欧美激情| 91麻豆国产福利在线观看| 日韩三级精品电影久久久| 国产一区二区在线免费观看| 欧美色综合天天久久综合精品| 日韩欧美在线观看一区二区三区| 欧美一级二级在线观看| 亚洲国产成人高清精品| 99视频精品在线| 91国产精品成人| 亚洲欧美日韩在线| 99精品久久99久久久久| 欧洲亚洲精品在线| |精品福利一区二区三区| 国产伦精品一区二区三区免费迷 | 久久久国产精品麻豆| 日本不卡视频在线| 久久精品magnetxturnbtih| 日韩视频在线你懂得| 日韩av二区在线播放| 日韩精品乱码av一区二区| 翡翠波斯猫1977年美国| 中文字幕制服丝袜成人av| 欧美午夜视频在线| 午夜精品福利一区二区三区av| 亚洲一一在线| 九九九久久久精品| 日韩情涩欧美日韩视频| 91色婷婷久久久久合中文| 国产精品久久久久永久免费观看 | 国产精品一二三四区| 日韩欧美成人午夜| 不卡视频一区二区三区| 亚洲精品乱码久久久久久黑人| 视频一区视频二区视频三区高| 丝袜国产日韩另类美女| 欧美日韩dvd在线观看| 不卡视频一二三四| 国产精品妹子av| 欧美人xxxxx| 日本在线不卡视频一二三区| 欧美日韩免费观看一区三区| 成人免费电影视频| 国产精品剧情在线亚洲| 亚洲v国产v在线观看| 精品一区二区免费视频| 日本一区二区三区www| 看片的网站亚洲| 久久综合色婷婷| 欧美黑人3p| 久久精品99国产精品日本| 欧美va亚洲va香蕉在线| 精品视频第一区| 毛片不卡一区二区| 日本一区二区三区高清不卡| 亚洲国产日韩综合一区| 成人免费黄色大片| 亚洲黄色片在线观看| 在线观看不卡一区| 999精品视频一区二区三区| 亚洲小说春色综合另类电影| 欧美高清激情brazzers| 国产a一区二区| 麻豆精品视频在线观看| 国产日产欧产精品推荐色| 亚洲精品在线免费看| 国产一区二区三区精品欧美日韩一区二区三区 | 国产一区二区三区黄视频| 精品少妇一区二区三区免费观看| 国产自产在线视频一区| 天堂av在线一区| 久久久九九九九| 91九色最新地址| 国产91精品入口17c| 免费一级欧美片在线观看| 国产偷v国产偷v亚洲高清| 日本不卡一区二区三区在线观看| 精品在线观看免费| 亚洲免费色视频| 日韩一区二区电影在线| 亚洲免费在线精品一区| 91传媒视频免费| 国产在线播放一区三区四| 亚洲视频一区二区免费在线观看| 欧美视频一二三区| 国产欧美欧洲| 懂色av一区二区三区免费观看| 亚洲久本草在线中文字幕| 欧美精品123区| 日韩av电影免费观看| 91网站最新地址| 中文乱码免费一区二区| 激情欧美一区二区| 久88久久88久久久| 日韩欧美国产综合| 国产精品一区二区在线观看| 麻豆精品在线播放| 综合分类小说区另类春色亚洲小说欧美| 色老汉一区二区三区| 国产99视频精品免费视频36| 另类综合日韩欧美亚洲| 91在线播放视频| 久久久国际精品| 蜜桃日韩视频| 激情综合网激情| 国产欧美一区视频| 一区二区三区我不卡| 高清不卡一区二区| 最新国产成人在线观看| 欧洲亚洲国产日韩| av在线免费不卡| 水野朝阳av一区二区三区| 欧美一二三区精品| 久久精品日韩| 日韩福利电影在线| 亚洲精品一区二区三区蜜桃下载| 久久国产主播精品| 国产伦精品一区二区三区免费迷| 日本一区二区三区国色天香| 中文字幕一区二区三区四区五区六区| 国产99精品视频| 亚洲午夜电影网| 日韩精品一区二区三区在线播放| 麻豆91av| 成人午夜电影网站| 亚洲成av人片一区二区| 国产欧美一区二区三区沐欲| 在线亚洲一区观看| 国内一区二区在线视频观看| 激情丁香综合五月| 亚洲一区电影777| 国产亚洲欧美在线| 884aa四虎影成人精品一区| 日本高清不卡三区| 成人动漫中文字幕| 美女网站视频久久| 亚洲欧美日韩久久| 久久亚洲精品国产精品紫薇| 色噜噜久久综合| 欧美亚洲精品日韩| 成人午夜电影在线播放| 国产99久久久国产精品潘金网站| 午夜精品123| 亚洲欧美另类图片小说| 国产天堂亚洲国产碰碰| 777欧美精品| 欧美色国产精品| 亚洲精品成人三区| 久久精品女人的天堂av| 97人人模人人爽人人少妇| 国产调教视频一区| 日韩理论片中文av| 亚洲成人av电影| 日本女优在线视频一区二区| 久久99久久99| 成人免费毛片a| 97超碰资源|