中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

java中int和integer的區別有哪些?

發布時間:2020-05-09 10:03:40 來源:億速云 閱讀:626 作者:小新 欄目:編程語言

這篇文章主要為大家詳細介紹了java中int和integer的區別有哪些,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

java中int和integer的區別

 ● int是基本數據類型,int變量存儲的是數值;Integer是引用數據類型,實際是一個對象,Integer存儲的是引用對象的地址

 ● int默認值是0,Integer默認值是null;

 ● int類型直接存儲數值,Integer需要實例化對象,指向對象的地址。

int和Integer所占內存比較:

Integer對象會占用更多的內存。Integer是一個對象,需要存儲對象的元數據。但是int是一個原始類型的數據,所以占用的空間更少。

非new生成的Integer變量與new Integer()生成的變量比較,結果為false。

/**
 * 比較非new生成的Integer變量與new生成的Integer變量
 */public class Test {
    public static void main(String[] args) {
        Integer i= new Integer(200);
        Integer j = 200;
        System.out.print(i == j);        //輸出:false
    }
}

因為非new生成的Integer變量指向的是java常量池中的對象,而new Integer()生成的變量指向堆中新建的對象,兩者在內存中的地址不同。所以 輸出為false。

java中int和integer的區別有哪些?

兩個非new生成的Integer對象進行比較

如果兩個變量的值在區間[-128,127]之間,比較結果為true;否則,結果為false。

/**
 * 比較兩個非new生成的Integer變量
 */public class Test {
    public static void main(String[] args) {
        Integer i1 = 127;
        Integer j1 = 127;
        System.out.println(i1 == j1);//輸出:true
        Integer i2 = 128;
        Integer j2 = 128;
        System.out.println(i2 == j2);//輸出:false
    }
}

java在編譯Integer i1 = 127時,會翻譯成Integer i1 = Integer.valueOf(127)。

Integer變量(無論是否是new生成的)與int變量比較

只要兩個變量的值是相等的,結果都為true。

/**
 * 比較Integer變量與int變量
 */public class Test {
    public static void main(String[] args) {
        Integer i1 = 200;
        Integer i2 = new Integer(200);        int j = 200;
        System.out.println(i1 == j);//輸出:true
        System.out.println(i2 == j);//輸出:true
    }
}

包裝類Integer變量在與基本數據類型int變量比較時,Integer會自動拆包裝為int,然后進行比較,實際上就是兩個int變量進行比較,值相等,所以為true。

以上就是java中int和integer的區別有哪些的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!

向AI問一下細節

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

AI

密山市| 昌图县| 海宁市| 京山县| 富宁县| 十堰市| 辽宁省| 思茅市| 光山县| 额尔古纳市| 竹北市| 修水县| 桐梓县| 临沧市| 柏乡县| 百色市| 泰顺县| 舒城县| 青川县| 吴旗县| 雅江县| 宁乡县| 宜宾市| 沁阳市| 贵港市| 龙南县| 乌兰察布市| 永安市| 延长县| 卢氏县| 突泉县| 马关县| 临海市| 吴堡县| 平顶山市| 新巴尔虎左旗| 从江县| 南昌市| 曲靖市| 洮南市| 比如县|