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

Java Integer及int裝箱拆箱對比

 更新時(shí)間:2020年09月15日 10:50:54   作者:bf378  
這篇文章主要介紹了Java Integer及int裝箱拆箱對比,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

示例代碼:

class BoxIntInteger {
 
  public static void main(String[] args) {
 
    Integer a = new Integer(10111);
    int b = 10111;
    boolean equal1 = a == b;
    boolean equal2 = a.equals(b);
    System.out.println(equal1);
    System.out.println(equal2);
  }
}

反編譯字節(jié)碼:

public static void main(String args[])
{
  Integer a = new Integer(10111);
  int b = 10111;
  boolean equal1 = a.intValue() == b; 
  boolean equal2 = a.equals(Integer.valueOf(b));
  System.out.println(equal1);
  System.out.println(equal2);    
}

1:可以看出對于Integer與int使用==比較大小的話,優(yōu)先Integer拆箱。

2: 如果使用equals比較大小的話,則int裝箱。

提示:對于Integer與int之間大小比較優(yōu)先使用equals比較,否則容易出現(xiàn)空指針,例如:

Integer c= null;
System.out.println(c==1);

原因:由于Integer需要調(diào)用intValue進(jìn)行拆箱,因而空指針。

Integer與Integer必須使用equals方法比較,這個(gè)就不必解釋了。但是通常我們可以看先Integer與Integer之間使用==也可以正確比較,原因是:Integer對于-128到127之間的數(shù)字在緩存中拿,不是創(chuàng)建新對象。

緩存獲取數(shù)據(jù)源碼:java.lang.Integer#valueOf(int)

public static Integer valueOf(int i) {
  if (i >= IntegerCache.low && i <= IntegerCache.high)
    return IntegerCache.cache[i + (-IntegerCache.low)];
  return new Integer(i);
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java中全排列的生成算法匯總

    java中全排列的生成算法匯總

    本文給大家匯總介紹了常見的6種全排列的生成算法,包括字典序法、遞增進(jìn)位數(shù)制法、遞減進(jìn)位數(shù)制法、鄰位交換法、遞歸類算法、元素增值法,有需要的小伙伴可以參考下
    2015-07-07
  • java基于包結(jié)構(gòu)的請求路由實(shí)現(xiàn)實(shí)例分享

    java基于包結(jié)構(gòu)的請求路由實(shí)現(xiàn)實(shí)例分享

    基于包結(jié)構(gòu)的請求路由簡單實(shí)現(xiàn)實(shí)例分享,大家參考使用吧
    2013-12-12
  • 淺談Java之終止繼承:Final類和Fianl方法

    淺談Java之終止繼承:Final類和Fianl方法

    這篇文章主要介紹了Java之終止繼承:Final類和Fianl方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • SpringBoot條件注解之@ConditionalOnClass等注解的使用場景分析

    SpringBoot條件注解之@ConditionalOnClass等注解的使用場景分析

    文章詳細(xì)介紹了SpringBoot中條件注解的體系,包括基本概念、@ConditionalOnClass等常用注解的工作原理和使用場景,文章還探討了條件注解的組合使用、實(shí)戰(zhàn)應(yīng)用以及最佳實(shí)踐,幫助開發(fā)者更好地理解和應(yīng)用條件注解,實(shí)現(xiàn)更靈活和智能的應(yīng)用配置,感興趣的朋友一起看看吧
    2025-03-03
  • idea如何通過maven指定JDK版本

    idea如何通過maven指定JDK版本

    這篇文章主要介紹了idea如何通過maven指定JDK版本問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • java三個(gè)環(huán)境變量配置簡單教程

    java三個(gè)環(huán)境變量配置簡單教程

    這篇文章主要為大家詳細(xì)介紹了java三個(gè)環(huán)境變量配置簡單教程,配置path變量、配置classpath變量、最后是配置JAVA_HOME變量,感興趣的小伙伴們可以參考一下
    2016-07-07
  • springboot項(xiàng)目打包發(fā)布部署的過程及jar和war的區(qū)別

    springboot項(xiàng)目打包發(fā)布部署的過程及jar和war的區(qū)別

    Spring Boot使用了內(nèi)嵌容器,因此它的部署方式也變得非常簡單靈活,可以將Spring Boot項(xiàng)目打包成JAR包來獨(dú)立運(yùn)行,Spring Boot項(xiàng)目既可以生成WAR包發(fā)布,也可以生成JAR包發(fā)布,那么它們有什么區(qū)別呢
    2022-11-11
  • Java可視化之實(shí)現(xiàn)文本的加密和解密

    Java可視化之實(shí)現(xiàn)文本的加密和解密

    這篇文章主要介紹了Java可視化之實(shí)現(xiàn)文本的加密和解密,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Spring兩種任務(wù)調(diào)度Scheduled和Async的區(qū)別和應(yīng)用場景詳解

    Spring兩種任務(wù)調(diào)度Scheduled和Async的區(qū)別和應(yīng)用場景詳解

    在現(xiàn)代應(yīng)用程序中,任務(wù)調(diào)度是一個(gè)非常普遍的需求,Spring框架提供了兩種主要的方式來實(shí)現(xiàn)任務(wù)調(diào)度:??Scheduled?? 和 ??Async??,在這篇文章中,我們將詳細(xì)介紹這兩種方式的區(qū)別和應(yīng)用場景,需要的朋友可以參考下
    2024-12-12
  • mybatis如何使用注解實(shí)現(xiàn)一對多關(guān)聯(lián)查詢

    mybatis如何使用注解實(shí)現(xiàn)一對多關(guān)聯(lián)查詢

    這篇文章主要介紹了mybatis如何使用注解實(shí)現(xiàn)一對多關(guān)聯(lián)查詢的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論

留坝县| 临夏县| 灵璧县| 措勤县| 监利县| 左贡县| 九寨沟县| 兰溪市| 巴林左旗| 汤原县| 集贤县| 县级市| 湘乡市| 张家港市| 松江区| 恭城| 黄梅县| 黑河市| 临颍县| 昌图县| 绿春县| 莱阳市| 邢台市| 保康县| 宝坻区| 禹州市| 嘉禾县| 财经| 来凤县| 左权县| 丹江口市| 贵阳市| 兴文县| 阜城县| 平原县| 荥经县| 鄂托克旗| 乌拉特前旗| 苏尼特右旗| 连平县| 锡林郭勒盟|