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

溫馨提示×

溫馨提示×

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

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

Java Integer及int裝箱拆箱對比

發布時間:2020-10-06 06:43:37 來源:腳本之家 閱讀:155 作者:bf378 欄目:開發技術

示例代碼:

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);
  }
}

反編譯字節碼:

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使用==比較大小的話,優先Integer拆箱。

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

提示:對于Integer與int之間大小比較優先使用equals比較,否則容易出現空指針,例如:

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

原因:由于Integer需要調用intValue進行拆箱,因而空指針。

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

緩存獲取數據源碼: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);
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

砀山县| 陆川县| 万荣县| 北碚区| 溆浦县| 太保市| 永寿县| 嘉兴市| 安塞县| 林甸县| 仪陇县| 同心县| 扎鲁特旗| 莎车县| 井冈山市| 万宁市| 左贡县| 温宿县| 安康市| 宾川县| 子长县| 平塘县| 凯里市| 丹江口市| 自治县| 太保市| 普格县| 台山市| 泸溪县| 张北县| 大姚县| 土默特右旗| 东港市| 丽江市| 乐平市| 合作市| 建阳市| 福泉市| 兴和县| 蓬莱市| 大渡口区|