91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Integer與int有什么區別

發布時間:2021-03-01 16:40:06 來源:億速云 閱讀:135 作者:Leah 欄目:開發技術

Integer與int有什么區別?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Integer和int的區別

  • Integer的默認初始值是null,而int的初始值是int,也就是說Integer能夠區分出未賦值和值為0的區別,而int卻不能表達出未賦值的情況,所以int不適合作為web層的表單數據填寫。(例如:一個學生參加考試且成績為0,和沒參加考試成績為null)

  • Integer是類,自帶很多方法供使用,而int只能做一些基本的±*/=的操作

  • Integer變量必須先實例化,int變量直接使用

關于Integer

在說明Integer的時候有幾個小知識點提一下:

  • 拆箱和裝箱

  • 什么時候拆箱:基本數據類型和引用數據類型做運算時什么時候裝箱:基本數據類型賦值給引用數據類型時

  • “==”和“equals()”

  • “==”:在比較基本數據類型時比較的是數值,比較引用數據類型時比較的是對象堆內存地址equals():在Object類中是通過“==”來比較的,但大多時候,我們會將其進行重寫

  • 在Integer類中,“==”用來比較對象地址是否相同,而equals()被重寫,他會先判斷參數中對象是否為Integer類型,如果是則判斷值是否相同。

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

幾點說明

  • Integer變量和int變量比較值時,只要值是相等的,結果就為true(因為Java會自動拆箱,將Integer拆為int,在進行比較)

Integer a = new Integer(1);
int b = 1;
System.out.println(a == b);//true

兩個通過new生成的Integer變量是永遠不相等的(因為new生成的是兩個新對象,內存地址不同)

Integer a = new Integer(1);
Integer b = new Integer(1);
System.out.println(a == b);//false

兩個通過非new產生的Integer變量也是不相等的(因為非new產生的Integer變量指向Java常量池中的對象,而new產生的變量指向堆中新建對象,他倆所在的內存地址不同)

Integer a = new Integer(1);
Integer b = 1;
System.out.println(a == b);//false

兩個非new產生的Integer變量比較:當值在-128~127之間時,結果為true,當值在此區間外結果為false(因為Integer常量池的存儲范圍是[-128,127],在此范圍內是直接存儲于常量池的,都指向同一個地址。在此范圍外的數需要通過堆內存創建一個新對象。比如Integer a=1會將1寫入緩存中,下次再寫Integer b=1時會直接從緩存中去,不用new了,所以取到的地址也是相同的)

Integer a = 1;
Integer b = 1;
System.out.println(a == b);//true

Integer a = 129;
Integer b = 129;
System.out.println(a == b);//false

關于Integer與int有什么區別問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海伦市| 西充县| 清新县| 淮阳县| 永福县| 平潭县| 通州区| 富顺县| 桦南县| 黄龙县| 合肥市| 合山市| 林周县| 南通市| 凤冈县| 久治县| 北京市| 太原市| 克山县| 绥化市| 右玉县| 商都县| 井陉县| 新乐市| 辛集市| 格尔木市| 洛隆县| 九寨沟县| 习水县| 吴川市| 宁晋县| 宝兴县| 视频| 龙山县| 辽源市| 白银市| 沐川县| 英吉沙县| 鲁山县| 察雅县| 汽车|