久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      int和Integer的區(qū)別

      int和Integer的區(qū)別

      int和Integer的區(qū)別

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

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

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

      4、Integer的默認值是null,int的默認值是0

      推薦學習:java教程

      延伸:

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

      1、由于Integer變量實際上是對一個Integer對象的引用,所以兩個通過new生成的Integer變量永遠是不相等的(因為new生成的是兩個對象,其內(nèi)存地址不同)。

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

      2、Integer變量和int變量比較時,只要兩個變量的值是向等的,則結(jié)果為true(因為包裝類Integer和基本數(shù)據(jù)類型int比較時,java會自動拆包裝為int,然后進行比較,實際上就變?yōu)閮蓚€int變量的比較)

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

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

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

      4、對于兩個非new生成的Integer對象,進行比較時,如果兩個變量的值在區(qū)間-128到127之間,則比較結(jié)果為true,如果兩個變量的值不在此區(qū)間,則比較結(jié)果為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之間的數(shù),會進行緩存,Integer i = 127時,會將127進行緩存,下次再寫Integer j = 127時,就會直接從緩存中取,就不會new了

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號