Java包裝類及類型轉換

一、什麼是包裝類

包裝類: Java是一個面向對象的編程語言,但是Java中的八種基本數據類型卻是不面向對象的,爲了使用方便和解決這個不足,在設計類時爲每個基本數據類型設計了一個對應的類進行代表,這樣八種基本數據類型對應的類統稱爲包裝類,包裝類均位於java.lang包。

二、應用場景

  1. 作爲 和基本數據類型對應的類類型存在,方便涉及到對象的操作。
    比如有時候一個函數需要傳遞一個Object變量 而你想傳遞int類型的進去顯然不行,這就要用到包裝類。比如想傳遞5進去,就可以這樣test(new Integer(5));比如有時候一個函數需要傳遞一個Object變量 而你想傳遞int類型的進去顯然不行,這就要用到包裝類。比如想傳遞5進去,就可以這樣test(new Integer(5));
        public void test(Object obj){
        }
    
  2. 集合不允許存放基本類型數據,只能存放包裝類型。
  3. 包裝類中包含每種基本數據類型的相關屬性如最大值、最小值等,以及相關的操作方法。

三、類型轉換

  1. 基本類型和包裝類之間可以相互轉換
    通過包裝類的構造函數,可以將基本類型轉爲包裝對象。
    public Boolean(boolean value){//..}
    public Character(char value){//..}
    public Integer(int value){//..}
    public Long(long value){//..}
    public Float(float value){//..}
    public Double(double value) {//..}
    
  2. 基本類型之間相互轉換
    在各個包裝類中,總有形爲××Value()的方法,來得到對應的基本類型數據。如Integer可將int轉成byte、short、long,float、double。
     public byte byteValue() {
            return (byte)value;
     }
    public short shortValue() {
            return (short)value;
    }
     public long longValue() {
            return (long)value;
    }
    
  3. 通過包裝類,String可以和基本類型之間相互轉換
    String->包裝類類型
    通過包裝類的構造函數,Boolean(String s),Integer(String s),Long(String s),Float(String s),Double(String s) 得到包裝類對象。
      public Integer(String s) throws NumberFormatException {
            this.value = parseInt(s, 10);
        }
    
    包裝類類型->String
    任何包裝類都存在一個名爲toString()的靜態方法能夠將其轉換成對應的String類。
    //將int類型的20轉成字符串
    String s = Integer.toString(20);
    
    //將Integer類型的20轉成字符串
    Integer i = new Integer(20);
    String s2 = i.toString();
    
    另外,對於整型類和長整型類,還能夠使用toBinaryString(int i),toHexString(int i),toOctalString(int i)分別以二進制,十六進制和八進制的形式進行到String類的轉換。

四、包裝類寫法

除了Integer和Character類以後,其它六個類的類名和基本數據類型一直,只是類名的第一個字母大寫即可。
boolean -> Boolean
char -> Character
byte-> Byte
short-> Short
long-> Long
int -> Integer
float-> Float
double-> Double

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章