首頁 Java java教程 int和Integer的差別

int和Integer的差別

Feb 17, 2020 pm 01:49 PM
int integer 差別

int和Integer的差別

int與Integer的區別

1、Integer是int的包裝類,int則是java的基本資料型別 

2、Integer變數必須實例化後才能使用,而int變數不需要 

3、Integer實際上是物件的引用,當new一個Integer時,實際上是產生一個指標指向此對象;而int則是直接儲存資料值 

4、Integer的預設值是null,int的預設值是0

#推薦學習:java教學

延伸: 

關於Integer和int的比較 

1、由於Integer變數其實是對一個Integer物件的引用,所以兩個透過new生成的Integer變數永遠是不相等的(因為new產生的是兩個對象,其記憶體位址不同)。

Integer i = new Integer(100);
Integer j = new Integer(100);
System.out.print(i == j); //false

2、Integer變數和int變數比較時,只要兩個變數的值是向等的,則結果為true(因為包裝類別Integer和基本資料型態i​​nt比較時,java會自動拆包裝為int,然後進行比較,實際上就變成兩個int變數的比較)

Integer i = new Integer(100);
int j = 100;
System.out.print(i == j); //true

3、非new產生的Integer變數和new Integer()產生的變數比較時,結果為false。 (因為非new產生的Integer變數指向的是java常數池中的對象,而new Integer()產生的變數則指向堆中新建的對象,兩者在記憶體中的位址不同)

Integer i = new Integer(100);
Integer j = 100;
System.out.print(i == j); //false

4 、對於兩個非new生成的Integer對象,進行比較時,如果兩個變數的值在區間-128到127之間,則比較結果為true,如果兩個變數的值不在此區間,則比較結果為false

Integer i = 100;Integer j = 100;
System.out.print(i == j); //trueInteger i = 128;
Integer j = 128;
System.out.print(i == j); //false

對於第4條的原因: 
java在編譯Integer i = 100 ;時,會翻譯成為Integer i = Integer.valueOf(100);,而java API中對Integer類型的valueOf的定義如下:

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

java對於-128到127之間的數,會進行緩存,Integer i = 127時,會將127進行緩存,下次再寫Integer j = 127時,就會直接從快取取,就不會new了

更多程式學習課程,可關注PHP中文網!    

#

以上是int和Integer的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Stock Market GPT

Stock Market GPT

人工智慧支援投資研究,做出更明智的決策

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

OKB幣上漲原因是什麼?一文詳解OKB幣大漲背後的戰略驅動因素 OKB幣上漲原因是什麼?一文詳解OKB幣大漲背後的戰略驅動因素 Aug 29, 2025 pm 03:33 PM

目錄OKB幣是什麼?和OKX交易所有何關係? OKB幣用途供應驅動:代幣經濟學的徹底改革戰略驅動:XLayer升級OKB與BNB的戰略對比風險分析總結2025年8月,OKX交易所的代幣OKB迎來了歷史性的上漲。 OKB在2025年達到了新的峰值,僅一周時間就上漲了400%以上,突破了250美元。但這並非偶然的飆升。它反映了OKX團隊對代幣模式和長期戰略的深思熟慮的轉變。 OKB幣是什麼?和OKX交易所有何關係? OKB是OK區塊鏈基金會與

幣圈未平倉合約是什麼?為何在加密期貨交易中重要 ?一文詳解 幣圈未平倉合約是什麼?為何在加密期貨交易中重要 ?一文詳解 Aug 29, 2025 pm 04:09 PM

目錄加密貨幣期貨交易中的未平倉量(OI)是什麼?未平倉量在期貨交易中如何運作未平倉合約與期貨交易量為什麼未平倉合約在加密貨幣期貨交易中很重要如何將未平倉合約與其他技術指標結合1. 相對強弱指數(RSI)與未平倉合約2. 移動平均線與未平倉量3. 支撐與阻力位4.成交量與未平倉量5. 結合資金費率與未平倉量加密貨幣期貨交易中未平倉量的局限性結論未平倉量(OI)常見問題1. 加密貨幣期貨中的

Kaito幣是什麼? Kaito代幣經濟學、未來展望及價格預測 Kaito幣是什麼? Kaito代幣經濟學、未來展望及價格預測 Sep 08, 2025 pm 02:21 PM

目錄Kaito幣是什麼Kaito的運作方式信息金融(InfoFi)KaitoProKaitoYapsKaitoConnectKaito幣的主要特征代幣經濟學Kaito幣在DeFi中的角色社群參與和治理KAITO價格預測KAITO2025年價格預測KAITO2026-2031年價格預測KAITO2031-2036年價格預測Kaito未來展望結論Kaito幣在不斷演變的數字貨幣領域中,已經成為一種值得注意的加密

電腦的系統托盤圖標雜亂,如何整理? 電腦的系統托盤圖標雜亂,如何整理? Aug 21, 2025 pm 08:12 PM

隱藏系統托盤圖標不影響程序運行,僅移除視覺顯示;2.徹底清理需通過任務管理器禁用非必要啟動項;3.根治雜亂須卸載不用軟件並養成安裝時取消捆綁勾選的習慣,這樣才能實現視覺清爽與資源優化的雙重目標。

如何在Linux中實時進程 Linux FIFO調度策略 如何在Linux中實時進程 Linux FIFO調度策略 Sep 03, 2025 pm 12:39 PM

要讓Linux進程以實時FIFO調度運行,需使用chrt命令或sched_setscheduler系統調用設置調度策略與優先級,如sudochrt-f99./app或在C程序中配置SCHED_FIFO及優先級參數,同時確保進程具有CAP_SYS_NICE能力或root權限,並通過limits.conf配置rtprio和memlock限制以保障實時性,避免優先級反轉需使用支持優先級繼承的互斥鎖。

什麼是黑天鵝事件?一文讀懂黑天鵝事件對加密貨幣的罕見衝擊 什麼是黑天鵝事件?一文讀懂黑天鵝事件對加密貨幣的罕見衝擊 Sep 11, 2025 pm 04:12 PM

目錄什麼是黑天鵝事件?黑天鵝事件的特徵加密貨幣市場中的黑天鵝事件例子黑天鵝事件的心理影響為什麼黑天鵝事件對交易者很重要風險管理策略未來的影響如何為黑天鵝事件做好準備黑天鵝事件是好還是壞?關於加密貨幣黑天鵝事件的常見問題黑天鵝事件簡單來說是什麼?黑天鵝事件能否被預測?加密貨幣投資者如何保護自己免受黑天鵝事件的影響?結論在金融市場,包括加密貨幣,大多數價格波動可以通過供需和投資者情緒的常規模式來解釋。但有時,會發生一種意外的極端事件,沒人預料

Token、代幣、通證有什麼區別? Token、代幣、通證有什麼區別? Aug 16, 2025 pm 12:36 PM

Token是區塊鏈上數字資產的統稱,代幣強調其貨幣與交易屬性,通證則突出其代表權利與權益的憑證功能。

什麼是柚子幣(EOS)? EOS市場分析及價格預測2025-2030年 什麼是柚子幣(EOS)? EOS市場分析及價格預測2025-2030年 Aug 14, 2025 pm 12:03 PM

目錄什麼是EOS?項目背景項目類別1.智能合約Layer-1基礎設施2.委託權益證明(DPoS)生態系統3.Web3dApp和開發者生態系統戰略展望市場分析價格分析價格預測:EOS2025-20302025年預測2026年預測2027年預測2028-2030年預測價格預測表項目概述常見問題結論自其雄心勃勃的推出以來, EOS.IO 被公認為技術最先進的區塊鏈平台之一,旨在解決像以太坊這樣的傳統網絡所面臨的可擴

See all articles