中文在线免费看视频_国产成人精品亚洲日本在线观看_亚洲精品第一综合99久久_国产亚洲精品日韩综合网

當前位置: 首頁 / 技術干貨 / 正文
好程序員Java培訓分享int和Integer的區別

2020-08-05

Java培訓

  好程序員Java培訓分享intInteger的區別,在說intInteger的區別之前,先要弄清楚兩個問題:

  一、Java基本數據類型及其封裝類

  二、Java自動拆箱和自動裝箱

  Java自動拆箱和自動裝箱

  1、自動裝箱

  自動裝箱其實就是將基本數據類型轉換為引用數據類型(對象)

  2、自動拆箱

  自動拆箱其實就是將引用數據類型轉化為基本數據類型

  int Integer的區別

  分析

  int

  Integer

  int Integer 的區別

  相同值下的 int Integer 的比較結果

  分析

  int

  int Java的基本數據類型。

  Integer

  Integer 繼承了Object類,是對象類型,是 int 的包裝類。

  int Integer 的區別

  值的存儲

  int 存儲在棧中

  Integer 對象的引用存儲在棧空間中,對象的數據存儲在堆空間中。

  初始化

  int 初始化值為0

  Integer 初始化值為null

  傳參

  int 是值傳遞,棧中的數據不可變。

  Integer 對象是引用傳遞,引用不可變,但是引用指向的堆空間地址中的值是可以改變的。

  泛型支持

  泛型不支持int,但是支持Integer

  運算

  int 可以直接做運算,是類的特性。

  Integer 的對象可以調用該類的方法,但是在拆箱之前不能進行運算,需要轉化為基本類型int

  int是基本數據類型,Integer是引用數據類型;

  int默認值是0Integer默認值是null

  int類型直接存儲數值,Integer需要實例化對象,指向對象的地址。

  相同值下的 int Integer 的比較結果

  兩個通過new生成的變量,結果為false

  int Integer 的值比較,若兩者的值相等,則為true

  (注意:在比較時,Integer會自動拆箱為int類型,然后再做比較。)

  new 生成的Integer變量 和 非new 生成的Integer變量比較,,結果為false

  (注意:new 生成的Integer變量的值在堆空間中,非new 生成的Integer變量的值在在常量池中。)

  (注意:非new生成的Integer變量,會先判斷常量池中是否有該對象,若有則共享,若無則在常量池中放入該對象;也叫享元模式,后面再說。)

  兩個非new 生成的Integer對象比較,則結果為true

  (注意:此處需要一個前提:值的范圍在 -128 ~ 127 之間。

  涉及到Java int Integer 的自動裝箱和拆箱的一種模式:享元模式—flyweight,為了加強對簡單數字的重復利用。

  在賦值時,其實是執行了IntegervalueOf()方法。

  當值在 -128 ~ 127之間時,Java會進行自動裝箱,然后會對值進行緩存,如果下次再有相同的值,會直接在緩存中取出使用。緩存是通過Integer的內部類IntegerCache來完成的。

  當值超出此范圍,會在堆中new出一個對象來存儲。

  PS:自動裝箱與拆箱是在JDK1.5中出現的。

  )

  內部類IntegerCache

  通過此類可以緩存簡單數字。

  緩存的數大小可以由 -XXAutoBoxCacheMax = 控制。

  jvm初始化時,Java.lang.Integer.IntegerCache.high屬性可以設置并保存在私有系統屬性中。

  規定了low屬性的值:-128

  來看個例子

1

  1a == b 嗎? 廢話,肯定不相等。兩個new出來的對象地址不一樣。

  2c == d 嗎? 這個也是廢話,都是基本數據類型的值肯定相等。

  3:現在的關鍵問題是 e == f 嗎? g == h 嗎?

  答案是:e == f; g != h。為什么會出現這種情況?因為ava在進行編譯時 Integer g = 130會被編譯成 Integer.valueOf(130) ,這個可以通過反編譯class文件看到。而通過Integer源碼可以得出,Integer.valueOf() 方法會在數值-128~127之間會對Integer進行緩存,不會再重新new一個,所以 e==f ;當數值二大于127或者小于-128的時候則會重新new一個,所以g != h

  IntegervalueOf方法如下

2

  4c == e 嗎, i == j 嗎?

  答案都是相等的。因為封裝類和基本數據類型進行比較的時候,Java會自動拆箱,然后比較數值是 否相等。

  綜上,我們可以得出幾個結論:

  1、都是封裝類,都是new出來的,肯定不相等。因為對象的內存地址不一樣。

  2、都是封裝類,都不是new出來的,如果值在-128~127之間,那就相等,否則不相等。

  3、如果是封裝類和基本類型進行比較,只要數值相等那就相等,否則就不相等。因為封裝類和基本數據類型進行比較的時候會有一個自動拆箱操作。

  4、都是基本數據類型,如果數值相等,那就相等;否則不相等。

好程序員公眾號

  • · 剖析行業發展趨勢
  • · 匯聚企業項目源碼

好程序員開班動態

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數據+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發 <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數據分析 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2019-07-22(北京)

    開班盛況
IT培訓IT培訓
在線咨詢
IT培訓IT培訓
試聽
IT培訓IT培訓
入學教程
IT培訓IT培訓
立即報名
IT培訓

Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號

中文在线免费看视频_国产成人精品亚洲日本在线观看_亚洲精品第一综合99久久_国产亚洲精品日韩综合网

            国产aⅴ综合色| 亚洲色图欧美偷拍| 亚洲成人资源网| 波多野结衣中文字幕一区二区三区 | 久久久另类综合| 看电影不卡的网站| 欧美一级黄色大片| 午夜在线电影亚洲一区| 在线观看日韩国产| 一区二区三区色| 色综合色狠狠综合色| 中文字幕不卡在线播放| 国产aⅴ综合色| 国产视频亚洲色图| 国产91高潮流白浆在线麻豆 | 99久久精品国产导航| 国产午夜精品理论片a级大结局| 蜜桃av一区二区在线观看| 日韩一区二区三区视频| 日本午夜精品一区二区三区电影| 8x福利精品第一导航| 日本欧美加勒比视频| 日韩丝袜情趣美女图片| 国产综合色在线| 国产清纯美女被跳蛋高潮一区二区久久w| 国产精品99久久久久| 国产精品久久毛片a| 色综合久久久久综合体| 香蕉久久夜色精品国产使用方法| 91精品国产欧美一区二区| 麻豆精品精品国产自在97香蕉| 26uuu亚洲综合色欧美| www.激情成人| 亚洲无线码一区二区三区| 91精品久久久久久久99蜜桃| 久久国产精品一区二区| 国产午夜精品理论片a级大结局| 91影院在线免费观看| 一区二区久久久久| 日韩精品一区二区三区视频播放| 国产精品系列在线观看| 亚洲欧美日韩综合aⅴ视频| 欧美日韩中文字幕一区二区| 九九精品一区二区| 国产精品久久久久三级| 欧美日韩激情一区二区三区| 久久99国内精品| 亚洲欧美区自拍先锋| 日韩欧美一二三四区| 成人动漫一区二区三区| 日日骚欧美日韩| 中文字幕中文在线不卡住| 欧美日韩国产精选| 成熟亚洲日本毛茸茸凸凹| 亚洲va欧美va国产va天堂影院| 久久久久九九视频| 欧美性色欧美a在线播放| 精品影视av免费| 亚洲自拍偷拍综合| 国产欧美日韩视频在线观看| 欧美高清dvd| 91网址在线看| 国产不卡视频一区二区三区| 天天做天天摸天天爽国产一区| 国产精品视频免费| 精品人伦一区二区色婷婷| 欧洲一区在线观看| 丁香六月久久综合狠狠色| 日韩电影免费在线看| 亚洲老司机在线| 中文在线一区二区| 日韩视频一区在线观看| 91精品1区2区| heyzo一本久久综合| 精品伊人久久久久7777人| 香蕉久久一区二区不卡无毒影院| 亚洲视频在线一区| 久久精品一区二区| 精品久久久久久久人人人人传媒| 欧美日韩国产高清一区二区三区| 色综合中文字幕国产| 国产精品资源在线观看| 日本在线不卡视频| 亚洲第一福利视频在线| 一区二区三区资源| 亚洲精品视频一区二区| 亚洲桃色在线一区| 亚洲视频中文字幕| 亚洲色图在线播放| 亚洲婷婷在线视频| 国产精品久久毛片a| 国产精品天干天干在线综合| 国产日韩欧美麻豆| 国产欧美视频一区二区| 久久精品综合网| 亚洲国产精品成人久久综合一区| 2022国产精品视频| 久久蜜桃av一区二区天堂 | 91麻豆自制传媒国产之光| 成人黄色免费短视频| 粉嫩av一区二区三区在线播放| 国产盗摄视频一区二区三区| 国产乱妇无码大片在线观看| 国产成人精品一区二区三区四区| 丁香桃色午夜亚洲一区二区三区 | 国产精品18久久久久久久久| 国产成人一区二区精品非洲| 成人永久aaa| 91黄色免费版| 51精品秘密在线观看| 亚洲精品在线免费播放| 久久久久亚洲蜜桃| 国产精品人人做人人爽人人添| 亚洲天堂精品视频| 亚洲国产wwwccc36天堂| 免费精品99久久国产综合精品| 精品在线一区二区三区| 国产成人精品亚洲777人妖| 99精品热视频| 欧美精品v日韩精品v韩国精品v| 91精品国产高清一区二区三区蜜臀| 欧美成人一区二区三区在线观看| 国产亚洲综合在线| 亚洲另类春色校园小说| 日本伊人色综合网| 懂色一区二区三区免费观看| 在线观看91视频| 久久只精品国产| 有坂深雪av一区二区精品| 日本欧美在线看| 成人a免费在线看| 777午夜精品免费视频| 日本一区二区在线不卡| 亚洲国产日韩一级| 国产精品一区二区三区乱码| 日本二三区不卡| 久久婷婷久久一区二区三区| 亚洲一区影音先锋| 久久99精品视频| 在线观看精品一区| 日本一区二区三区免费乱视频| 亚洲图片有声小说| 国产成a人亚洲精品| 欧美日韩国产高清一区二区三区| 中文子幕无线码一区tr| 青青草伊人久久| 日本韩国欧美三级| 国产视频一区二区三区在线观看 | 色94色欧美sute亚洲线路一ni| 精品美女在线观看| 亚洲午夜在线观看视频在线| 成人污污视频在线观看| 日韩亚洲欧美中文三级| 亚洲夂夂婷婷色拍ww47| 成人高清伦理免费影院在线观看| 日韩一区和二区| 亚洲成在线观看| 91丨九色丨蝌蚪丨老版| 国产日韩欧美一区二区三区综合 | 精品制服美女丁香| 欧美日韩mp4| 亚洲精品视频自拍| www.日韩在线| 中文字幕 久热精品 视频在线| 久久 天天综合| 欧美一区二区三区视频免费播放| 一区二区三区蜜桃网| 99精品视频在线免费观看| 国产欧美1区2区3区| 国产精品一线二线三线| 亚洲精品在线电影| 麻豆视频一区二区| 欧美久久一区二区| 天堂精品中文字幕在线| 欧美色电影在线| 亚洲国产精品久久人人爱| 91精品福利视频| 一区二区三区成人| 欧美亚洲高清一区| 亚洲一区二区三区国产| 欧美中文字幕一区| 亚洲国产美国国产综合一区二区| 欧美亚洲另类激情小说| 亚洲精品国产一区二区三区四区在线| av一区二区三区四区| 亚洲欧美视频一区| 欧美色网一区二区| 午夜久久电影网| 日韩免费电影一区| 国产精品一二二区| 国产精品二三区| 在线亚洲人成电影网站色www| 亚洲一区在线观看网站| 欧美精品丝袜中出| 精品中文字幕一区二区| 亚洲国产精品t66y| 色婷婷久久99综合精品jk白丝 | 一本大道久久精品懂色aⅴ| 亚洲综合色网站| 日韩免费高清av|