91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

為什么Java中1000==1000為false,而100==100為true呢

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)分析與開發(fā) ? 作者:codeceo ? 2020-11-19 15:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為什么 Java 中“1000==1000”為false,而”100==100“為true? 這是一個挺有意思的討論話題。 如果你運行下面的代碼:

Integera=1000,b=1000; System.out.println(a==b);//1 Integerc=100,d=100; System.out.println(c==d);//2

你會得到

false true

基本知識:我們知道,如果兩個引用指向同一個對象,用==表示它們是相等的。如果兩個引用指向不同的對象,用==表示它們是不相等的,即使它們的內(nèi)容相同。

因此,后面一條語句也應該是false 。

這就是它有趣的地方了。

如果你看去看 Integer.java 類,你會發(fā)現(xiàn)有一個內(nèi)部私有類,IntegerCache.java,它緩存了從-128到127之間的所有的整數(shù)對象

所以事情就成了,所有的小整數(shù)在內(nèi)部緩存,然后當我們聲明類似——

Integerc=100;

的時候,它實際上在內(nèi)部做的是:

Integeri=Integer.valueOf(100);

現(xiàn)在,如果我們?nèi)タ磛alueOf()方法,我們可以看到

publicstaticIntegervalueOf(inti){ if(i>=IntegerCache.low&&i returnIntegerCache.cache[i+(-IntegerCache.low)]; returnnewInteger(i); }

如果值的范圍在-128到127之間,它就從高速緩存返回實例。

所以…

Integerc=100,d=100;

指向了同一個對象。

這就是為什么我們寫

System.out.println(c==d);

我們可以得到true。

現(xiàn)在你可能會問,為什么這里需要緩存?

合乎邏輯的理由是,在此范圍內(nèi)的“小”整數(shù)使用率比大整數(shù)要高,因此,使用相同的底層對象是有價值的,可以減少潛在的內(nèi)存占用。

然而,通過反射API你會誤用此功能。

運行下面的代碼,享受它的魅力吧

publicstaticvoidmain(String[]args)throwsNoSuchFieldException,IllegalAccessException{ Classcache=Integer.class.getDeclaredClasses()[0];//1 FieldmyCache=cache.getDeclaredField("cache");//2 myCache.setAccessible(true);//3 Integer[]newCache=(Integer[])myCache.get(cache);//4 newCache[132]=newCache[133];//5 inta=2; intb=a+a; System.out.printf("%d+%d=%d",a,a,b);// }

責任編輯:xj

點贊和在看就是最大的支持

原文標題:為什么 Java 中“1000==1000”為false,而”100==100“為true?

文章出處:【微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關注!文章轉載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    20

    文章

    3002

    瀏覽量

    116512
  • C語言
    +關注

    關注

    183

    文章

    7645

    瀏覽量

    145735

原文標題:為什么 Java 中“1000==1000”為false,而”100==100“為true?

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    TDC1000-Q1:超聲波傳感模擬前端的卓越之選

    各種超聲波傳感應用提供了全面可靠的解決方案。 文件下載: tdc1000-q1.pdf 1. 產(chǎn)品特性亮點 1.1 汽車級認證與寬溫范圍 TDC1000-Q1通過了AEC-Q100
    的頭像 發(fā)表于 02-25 11:10 ?171次閱讀

    SRK1000/SRK1000A/SRK1000B:反激式轉換器自適應同步整流控制器

    SRK1000/SRK1000A/SRK1000B:反激式轉換器自適應同步整流控制器 在電子電路設計領域,反激式轉換器的同步整流技術一直是提升效率和性能的關鍵。今天要給大家介紹的 SRK100
    的頭像 發(fā)表于 01-27 14:00 ?220次閱讀

    SRK1000/SRK1000A/SRK1000B:適用于反激式轉換器的同步整流控制器

    的是STMicroelectronics推出的SRK1000、SRK1000A和SRK1000B系列同步整流控制器,它們在反激式轉換器應用展現(xiàn)出了卓越的性能。 文件下載: srk
    的頭像 發(fā)表于 01-27 14:00 ?521次閱讀

    SRK1000 / SRK1000A / SRK1000B:反激式轉換器同步整流控制器的卓越之選

    SRK1000 / SRK1000A / SRK1000B:反激式轉換器同步整流控制器的卓越之選 在電源設計領域,反激式轉換器是一種常見且重要的電路拓撲。同步整流技術的應用,則能有效
    的頭像 發(fā)表于 01-27 14:00 ?272次閱讀

    工業(yè)測溫選PT100還是PT1000

    電機過熱是工業(yè)現(xiàn)場設備失效的主因之一。面對PT100與PT1000兩種主流熱電阻探頭,究竟該如何選擇?本文您解析其中的關鍵考量。工業(yè)電機過熱保護:PT100/PT
    的頭像 發(fā)表于 01-21 11:39 ?824次閱讀
    工業(yè)測溫選PT<b class='flag-5'>100</b>還是PT<b class='flag-5'>1000</b>?

    有關100M、1000M以太網(wǎng)一致性測試問題探討交流

    100M、1000M以太網(wǎng)一致性測試
    的頭像 發(fā)表于 12-14 10:42 ?542次閱讀
    有關<b class='flag-5'>100</b>M、<b class='flag-5'>1000</b>M以太網(wǎng)一致性測試問題探討交流

    普源示波器DS1000Z與DHO1000性能價格全面對比:技術差異與場景適配解析

    應用場景的差異化優(yōu)勢。 ? 一、核心性能參數(shù)對比:技術架構與測量能力的分野 1. 硬件配置差異 DS1000Z:采用傳統(tǒng)數(shù)字示波器架構,標配100MHz帶寬與1GSa/s采樣率,配備7英寸TFT
    的頭像 發(fā)表于 12-10 15:37 ?422次閱讀
    普源示波器DS<b class='flag-5'>1000</b>Z與DHO<b class='flag-5'>1000</b>性能價格全面對比:技術差異與場景適配解析

    RIGOL普源DS1000Z與DHO1000系列對比評測

    與通道配置:DS1000Z提供100MHz/200MHz固定帶寬(如DS1202Z-E200MHz),標配2模擬通道;DHO1000系列可選70/
    的頭像 發(fā)表于 11-13 11:47 ?441次閱讀
    RIGOL普源DS<b class='flag-5'>1000</b>Z與DHO<b class='flag-5'>1000</b>系列對比評測

    PS1000光伏電站提供電能質量“智能體檢”!

    炫通電氣PS1000電能質量分析儀是您光伏電站運維的有利幫手
    的頭像 發(fā)表于 08-06 08:59 ?644次閱讀
    PS<b class='flag-5'>1000</b><b class='flag-5'>為</b>光伏電站提供電能質量“智能體檢”!

    電動汽車充電裝置可用安科瑞直流絕緣監(jiān)測儀AIM-D100-CA

    的監(jiān)控以保證供電系統(tǒng)的安全運行。 AIM-D100-CA系列直流絕緣監(jiān)測儀可以應用在100~1000V的直流系統(tǒng),用于在線監(jiān)測直流不接地系統(tǒng)正負極對地絕緣電阻,當絕緣電阻低于設定值時
    的頭像 發(fā)表于 05-26 13:41 ?611次閱讀
    電動汽車充電裝置可用安科瑞直流絕緣監(jiān)測儀AIM-D<b class='flag-5'>100</b>-CA

    700-1000 MHz 高增益 skyworksinc

    電子發(fā)燒友網(wǎng)你提供()700-1000 MHz 高增益相關產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有700-1000 MHz 高增益的引腳圖、接線圖、封裝手冊、中文資料、英文資料,700-1000 M
    發(fā)表于 05-21 18:29
    700-<b class='flag-5'>1000</b> MHz 高增益 skyworksinc

    VIAVI Xgig 1000 32/128G FC和25/50/100GE以太網(wǎng)分析儀介紹

    VIAVI Xgig1000 32/128G光纖通道和25/50/100G以太網(wǎng)平臺是可解決具有可重構端口的便攜式集成平臺中的8G/16G/32G/128G FC和10/25/50/100GE問題的產(chǎn)品
    的頭像 發(fā)表于 03-21 15:37 ?1310次閱讀
    VIAVI Xgig <b class='flag-5'>1000</b> 32/128G FC和25/50/<b class='flag-5'>100</b>GE以太網(wǎng)分析儀介紹

    K7815-1000(L) K7815-1000(L)

    電子發(fā)燒友網(wǎng)你提供AIPULNION(AIPULNION)K7815-1000(L)相關產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有K7815-1000(L)的引腳圖、接線圖、封裝手冊、中文資料、英文資料,K7815-
    發(fā)表于 03-20 18:34
    K7815-<b class='flag-5'>1000</b>(L) K7815-<b class='flag-5'>1000</b>(L)

    DA150-1000S35G1N4 DA150-1000S35G1N4

    電子發(fā)燒友網(wǎng)你提供AIPULNION(AIPULNION)DA150-1000S35G1N4相關產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有DA150-1000S35G1N4的引腳圖、接線圖、封裝手冊、中文資料、英文
    發(fā)表于 03-19 18:34
    DA150-<b class='flag-5'>1000</b>S35G1N4 DA150-<b class='flag-5'>1000</b>S35G1N4

    DA40-1000S37G2D4 DA40-1000S37G2D4

    電子發(fā)燒友網(wǎng)你提供AIPULNION(AIPULNION)DA40-1000S37G2D4相關產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有DA40-1000S37G2D4的引腳圖、接線圖、封裝手冊、中文資料、英文資料,DA40-
    發(fā)表于 03-18 18:55
    DA40-<b class='flag-5'>1000</b>S37G2D4 DA40-<b class='flag-5'>1000</b>S37G2D4