最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單了解java中int和Integer的區(qū)別

 更新時間:2019年10月30日 08:29:43   作者:熊貓的世界你不懂  
這篇文章主要介紹了簡單了解java中int和Integer的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了簡單了解java中int和Integer的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

1、Integer是int的包裝類,int則是java的一種基本數(shù)據(jù)類型

2、Integer變量必須實例化(new 一下是最常見的實例化)后才能使用,而int變量不需要

3、Integer實際是對象的引用,new Integer(),實際上是生成一個指針指向此對象;而int則是直接存儲數(shù)據(jù)值

4、Integer的默認(rèn)值是null,int的默認(rèn)值是0

注意

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

關(guān)于Integer和int的比較

1. 兩個new實例化出來的Integer變量比較,結(jié)果為false.

/**
 * @author tracydzf
 *比較兩個new出來的Integer
 *
 */
public class Test {

  public static void main(String[] args) {
    Integer a = new Integer(100);
    Integer b = new Integer(100);
    System.out.println(a==b);
    //輸出false    
  }
}

當(dāng)new一個Integer時,實際上是生成一個指針,指向此對象,兩次new Integer生成的是兩個對象,對象儲存在堆當(dāng)中,其內(nèi)存地址不同,所以兩個new出來的Integer變量不等。

2.int 和Integer在進(jìn)行比較的時候,Integer會進(jìn)行拆箱,轉(zhuǎn)為int值與int進(jìn)行比較

/**
 * @author tracydzf
 *int 和 Integer的比較
 *
 */

public class Test {

  public static void main(String[] args) {
    Integer a = new Integer(100);
    int b = 100;
    System.out.print(a == b); //true  
  }
}

3.非new生成的Integer變量和new Integer()生成的變量比較時,結(jié)果為false。(因為非new生成的Integer變量指向的是java常量池中的對象,而new Integer()生成的變量指向堆中新建的對象,兩者在內(nèi)存中的地址不同)

/**
 * @author tracydzf
 * Integer 和 new Integer的比較
 *
 */
public class Test {

  public static void main(String[] args) {
    Integer a = new Integer(100);
    Integer b = 100;
    System.out.print(a == b); //false  
  }
}

4.對于兩個非new生成的Integer對象,進(jìn)行比較時.

注意:

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

② 當(dāng)自動裝箱后生成的Integer的對象,其值 -128<= x <= 127 時,這個對象會直接取緩存IntegerCache中的對應(yīng)的對象,生成的當(dāng)然也是個對象。

我們來看看例子

這里a跟b都是128,不會再IntegerCache取緩存對象,所以是false.

/**
 * @author tracydzf
 * Integer 和 Integer的比較
 *
 */
public class Test {

  public static void main(String[] args) {
    Integer a = 128;
    Integer b = 128;
    System.out.print(a == b); //false  
  }
}

a,b都是127,數(shù)值相等,且滿足在IntegerCache取緩存的條件,所以對象相等.

/**
 * @author tracydzf
 * Integer 和 Integer的比較
 *
 */
public class Test {

  public static void main(String[] args) {
    Integer a = 127;
    Integer b = 127;
    System.out.print(a == b); //true
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 分享java中設(shè)置代理的兩種方式

    分享java中設(shè)置代理的兩種方式

    有時候我們的程序中要提供可以使用代理訪問網(wǎng)絡(luò),代理的方式包括http、https、ftp、socks代理。比如在IE瀏覽器設(shè)置代理,這里簡單介紹下,需要的朋友可以參考下
    2015-12-12
  • Java?Bluetooth?藍(lán)牙通訊?BlueCove?掃描附近的藍(lán)牙設(shè)備(測試代碼)

    Java?Bluetooth?藍(lán)牙通訊?BlueCove?掃描附近的藍(lán)牙設(shè)備(測試代碼)

    BlueCove是一個開源的藍(lán)牙協(xié)議棧實現(xiàn),旨在為Java開發(fā)者提供一個全面的、易于使用的API,從而在應(yīng)用程序中實現(xiàn)藍(lán)牙功能,該項目支持多種操作系統(tǒng),這篇文章主要介紹了Java?Bluetooth?藍(lán)牙通訊?BlueCove?掃描附近的藍(lán)牙設(shè)備,需要的朋友可以參考下
    2025-01-01
  • Java8使用LocalDate計算日期實例代碼解析

    Java8使用LocalDate計算日期實例代碼解析

    這篇文章主要介紹了Java8使用LocalDate計算實例代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • springBoot系列常用注解(小結(jié))

    springBoot系列常用注解(小結(jié))

    這篇文章主要介紹了springBoot系列常用注解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Idea中SpringBoot多模塊項目的建立實現(xiàn)

    Idea中SpringBoot多模塊項目的建立實現(xiàn)

    這篇文章主要介紹了Idea中SpringBoot多模塊項目的建立實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • springboot中實現(xiàn)上傳文件的功能簡單示例

    springboot中實現(xiàn)上傳文件的功能簡單示例

    這篇文章主要給大家介紹了關(guān)于springboot中實現(xiàn)上傳文件功能的相關(guān)資料,在Spring Boot中實現(xiàn)文件上傳下載功能相對簡單,文中給出了代碼示例,需要的朋友可以參考下
    2023-09-09
  • Spring Cloud Stream異常處理過程解析

    Spring Cloud Stream異常處理過程解析

    這篇文章主要介紹了Spring Cloud Stream異常處理過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Springboot項目因為kackson版本問題啟動報錯解決方案

    Springboot項目因為kackson版本問題啟動報錯解決方案

    這篇文章主要介紹了Springboot項目因為kackson版本問題啟動報錯解決方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • SpringBoot依賴注入的詳細(xì)介紹、使用技巧

    SpringBoot依賴注入的詳細(xì)介紹、使用技巧

    在Spring Boot中,依賴注入是一項關(guān)鍵的特性,它通過容器來管理和注入應(yīng)用程序中的各種組件,本文介紹SpringBoot依賴注入的詳細(xì)介紹、使用技巧,感興趣的朋友一起看看吧
    2024-01-01
  • Java中遍歷ConcurrentHashMap的四種方式詳解

    Java中遍歷ConcurrentHashMap的四種方式詳解

    這篇文章主要介紹了Java中遍歷ConcurrentHashMap的四種方式詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10

最新評論

舞阳县| 黄平县| 金山区| 永和县| 临朐县| 同德县| 岢岚县| 满洲里市| 呼和浩特市| 调兵山市| 阿瓦提县| 石林| 北安市| 三亚市| 高陵县| 台南市| 石棉县| 大同市| 神池县| 含山县| 定结县| 玉山县| 隆昌县| 滨海县| 孝昌县| 龙南县| 通海县| 甘孜县| 葵青区| 汉沽区| 东宁县| 达尔| 黎城县| 定西市| 蒙自县| 永清县| 稷山县| 灵宝市| 隆德县| 连州市| 汝南县|