小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java - 工具類1(包裝類) July 10,2019

 印度阿三17 2019-07-10

Java中的8個基本類型都對應(yīng)一個包裝類

  byte → Byte

  short → Short

  int → Integer

  long?→ Long

  float → Float

  double → Double

  char → Character

  boolean→ Boolean

每個包裝類中都有一個靜態(tài)的方法來將java的基本數(shù)據(jù)類型轉(zhuǎn)換為包裝類,這個靜態(tài)方法接受一個對應(yīng)的基本類型參數(shù)然后返回一個包裝類的引用:

  Java 1.5版本之后 增加了自動裝箱、拆箱機制,提供基本數(shù)據(jù)類型和包裝類型的相互轉(zhuǎn)換操作。

自動裝箱即自動將基本數(shù)據(jù)類型轉(zhuǎn)換成包裝類型:

public class TestUtil {
    public static void main(String[] args){
        //JDK1.5之前 不可以自動裝箱
        Integer i1 = new Integer(100);
        Integer i2 = Integer.valueOf(100);
        //1.5之后 可以自動裝箱
        Integer i3 = 100;
    //原理 ?Integer i3 = Integer.valueOf((int)100); System.out.println(i1); System.out.println(i2); System.out.println(i3); } }

自動拆箱即自動將包裝類型轉(zhuǎn)換成基本數(shù)據(jù)類型,與自動裝箱相反:

public class TestUtil {
    public static void main(String[] args){
        //JDK1.5之前 不可以自動裝箱
        Integer i1 = new Integer(100);
        Integer i2 = Integer.valueOf(100);
        //1.5之后 可以自動裝箱
        Integer i3 = 100;

        //自動拆箱
        int i4 = i1;
        //自動拆箱的原理  調(diào)用intValue
        int i5 = i1.intValue();

        System.out.println(i4);
        System.out.println(i5);

    }
}
輸出結(jié)果
100
100
public class TestUtil {
    public static void main(String[] args){
        //將數(shù)字字符串轉(zhuǎn)換為int類型數(shù)字

        //將String直接轉(zhuǎn)換為int類型
        int value1 = Integer.parseInt("123");
        //先將String構(gòu)成一個Integer對象,然后拆分
        int value2 = new Integer("123");
        System.out.println(value1);
        System.out.println(value2);

    }
}
輸出結(jié)果:
123
123

筆試題

public class TestUtil {
    public static void main(String[] args){
        //將數(shù)字字符串轉(zhuǎn)換為int類型數(shù)字
        Integer i1 = 10;//10自動包裝成Integer對象  不是常量區(qū)的10,而是存放在靜態(tài)元素區(qū)的10
        Integer i2 = 10;//與i1同時指向靜態(tài)元素區(qū)的10
        Integer i3 = new Integer(10);// 新new 的一個對象 10
        Integer i4 = new Integer(10);//再new一個
        System.out.println(i1 == i2);//== 比較變量里的內(nèi)容(地址)
        System.out.println(i1 == i3);
        System.out.println(i3 == i4);
        System.out.println(i1.equals(i2));//重寫了 比值, 不是Object里的equals ,
        System.out.println(i1.equals(i3));
        System.out.println(i2.equals(i4));

    }
}
輸出結(jié)果:
true
false
false
true
true
true

1.==與equals()區(qū)別
??  ==可以比較基本數(shù)據(jù)類型? 也可以比較引用數(shù)據(jù)類型? (變量中存儲的內(nèi)容)
??  如果比較基本類型比較是變量中存儲的值
??  如果比較引用類型比較是變量中存儲的地址引用
??  equals()是Object類中繼承過來的方法? 每一個引用類型都可以調(diào)用
??  默認繼承的equals()方法比較與==一致? 如果想要改變比較規(guī)則 可以重寫equals方法
??  由于Integer類就重寫了equals() 所以Integer比較的是數(shù)值
??2.考察Integer類加載的時候? 自己有一個靜態(tài)的空間
??  空間內(nèi)立即加載 Integer類型的數(shù)組? 內(nèi)存儲256個Integer對象?? -128 ~ 127
?  ?如果我們用的對象范圍在這之內(nèi)Integer i1 = 10;? 直接取靜態(tài)區(qū)中找對應(yīng)的對象
?  ?如果我們用的對象范圍超出了這個Integer i1 = 1000;? 會幫我們創(chuàng)建一個新的Integer對象

?

來源:https://www./content-1-316151.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多