最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Java包裝類(lèi)比較時(shí)遇到的問(wèn)題

 更新時(shí)間:2017年09月28日 09:35:58   作者:tao不是哭臉  
所謂包裝類(lèi)的作用就是將原始數(shù)據(jù)類(lèi)型轉(zhuǎn)換成引用數(shù)據(jù)類(lèi)型,下面這篇文章主要給大家介紹了關(guān)于在Java包裝類(lèi)比較時(shí)遇到的問(wèn)題的解決方法,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

前言

本文主要給大家介紹了關(guān)于Java包裝類(lèi)在比較時(shí)遇到的一些問(wèn)題的解決方法,分享出來(lái)供大家參考學(xué)習(xí),下面話(huà)不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。

例1:

  Integer a = 1;
  Integer b = 2;
  Integer c = 3;
  Integer d = 3;
  Integer e= 321;
  Integer f= 321;
  Long g = 3L;
  System.out.println(c == d); //1
  System.out.println(e == f); //2
  System.out.println(c == (a+b)); //3 
  System.out.println(c.equals(a+b));//4
  System.out.println(g == (a+b)); //5
  System.out.println(g.equals(a+b)); //6

輸出結(jié)果

true
false
true
true
true
false

      1.包裝類(lèi)比較,不會(huì)自動(dòng)拆包,但是Integer中會(huì)有一個(gè)cache 存儲(chǔ)-128到127的數(shù),所以c與d的地址值相同。

      2.地址值比較,沒(méi)用到cache

      3.當(dāng) '=='時(shí),右側(cè)發(fā)生自動(dòng)拆包,所以其實(shí)是int值在比較

      4.a+b 時(shí)拆包成int,傳入Integer的equals方法進(jìn)行自動(dòng)裝包。equals方法內(nèi)是值比較。

      5.會(huì)拆包成基礎(chǔ)數(shù)據(jù)類(lèi)型比較

      6.包裝類(lèi)的equals 會(huì)判斷類(lèi)型,Long.equals(Object object)中判斷類(lèi)型不符合,返回false。

例2:

  Long a = 1L;
  Integer b = 1;
  System.out.println(a.equals(1)); //7
  System.out.println(a.equals(1L));
  System.out.println(a.equals(b));

輸出

false
true
false

看包裝類(lèi)源碼會(huì)發(fā)現(xiàn)比較時(shí)會(huì)先去判斷類(lèi)型是否相同。

7.a.equals(1)時(shí),int 1 裝包成Integer,自然和Long不同類(lèi)型。

 public boolean equals(Object obj) {
  if (obj instanceof Long) {
   return value == ((Long)obj).longValue();
  }
  return false;
 }

總結(jié):

當(dāng)使用自動(dòng)拆包/裝包時(shí),包裝類(lèi)之間比較并不會(huì)自動(dòng)拆包,是地址比較,其中還有緩存會(huì)影響結(jié)果。

用包裝類(lèi)的equals方式比較時(shí),由于包裝類(lèi)并不會(huì)自動(dòng)去轉(zhuǎn)換類(lèi)型,所以類(lèi)型不同時(shí),即使值相同,也會(huì)返回false。所以在用包裝類(lèi)比較數(shù)值時(shí),不要用'==',用equals方法時(shí)要注意類(lèi)型相同,或者直接用基礎(chǔ)數(shù)據(jù)類(lèi)型比較。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Python單元測(cè)試_使用裝飾器實(shí)現(xiàn)測(cè)試跳過(guò)和預(yù)期故障的方法

    Python單元測(cè)試_使用裝飾器實(shí)現(xiàn)測(cè)試跳過(guò)和預(yù)期故障的方法

    下面小編就為大家?guī)?lái)一篇Python單元測(cè)試_使用裝飾器實(shí)現(xiàn)測(cè)試跳過(guò)和預(yù)期故障的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • java8之LocalDate的使用、LocalDate格式化問(wèn)題

    java8之LocalDate的使用、LocalDate格式化問(wèn)題

    這篇文章主要介紹了java8之LocalDate的使用、LocalDate格式化問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java雙括弧初始化操作技巧

    Java雙括弧初始化操作技巧

    這篇文章主要介紹了Java雙括弧初始化操作技巧,這種方法不僅提高了代碼的可讀性,而且簡(jiǎn)化了代碼的數(shù)量,需要的朋友可以參考下
    2015-12-12
  • SpringBoot查看項(xiàng)目配置信息的幾種常見(jiàn)方法

    SpringBoot查看項(xiàng)目配置信息的幾種常見(jiàn)方法

    這篇文章主要為大家詳細(xì)介紹了查看Spring Boot項(xiàng)目所有配置信息的幾種方法,包括 Actuator端點(diǎn),日志輸出,代碼級(jí)獲取等方式并附帶詳細(xì)步驟和示例,希望對(duì)大家有一定的幫助
    2025-04-04
  • 解讀maven配置阿里云鏡像問(wèn)題

    解讀maven配置阿里云鏡像問(wèn)題

    這篇文章主要介紹了解讀maven配置阿里云鏡像問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java集合系列之HashMap源碼分析

    Java集合系列之HashMap源碼分析

    這篇文章主要為大家詳細(xì)介紹了Java集合系列之HashMap源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • java中的構(gòu)造函數(shù)什么時(shí)候被調(diào)用執(zhí)行

    java中的構(gòu)造函數(shù)什么時(shí)候被調(diào)用執(zhí)行

    這篇文章主要介紹了java中的構(gòu)造函數(shù)什么時(shí)候被調(diào)用執(zhí)行問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Spring-boot 2.3.x源碼基于Gradle編譯過(guò)程詳解

    Spring-boot 2.3.x源碼基于Gradle編譯過(guò)程詳解

    這篇文章主要介紹了Spring-boot 2.3.x源碼基于Gradle編譯過(guò)程詳解,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • SpringBoot+thymeleaf+ajax實(shí)現(xiàn)局部刷新詳情

    SpringBoot+thymeleaf+ajax實(shí)現(xiàn)局部刷新詳情

    這篇文章主要介紹了SpringBoot+thymeleaf+ajax實(shí)現(xiàn)局部刷新詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 關(guān)于SpringBoot的spring.factories文件詳細(xì)說(shuō)明

    關(guān)于SpringBoot的spring.factories文件詳細(xì)說(shuō)明

    spring.factories 文件是 Spring Boot 自動(dòng)配置機(jī)制的核心部分之一,它位于每個(gè) Spring Boot 自動(dòng)配置模塊的 META-INF 目錄下,經(jīng)??吹?nbsp;spring.factories 文件,卻沒(méi)有對(duì)它進(jìn)行深入的了解和分析,今天我們就一起揭開(kāi)面紗看看它的內(nèi)在,需要的朋友可以參考下
    2024-12-12

最新評(píng)論

临泽县| 泸西县| 酒泉市| 邢台县| 麻阳| 佛学| 奉贤区| 柳林县| 观塘区| 历史| 涞水县| 高碑店市| 宿州市| 石屏县| 黄龙县| 保亭| 新昌县| 广南县| 华亭县| 文山县| 盖州市| 新乡县| 永平县| 思南县| 石渠县| 汕尾市| 东源县| 太原市| 团风县| 大悟县| 临清市| 嘉定区| 搜索| 昌乐县| 武义县| 临沧市| 衡水市| 陕西省| 吴江市| 富川| 龙泉市|