第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開(kāi)發(fā)者教程

Java 包裝類

本小節(jié)我們將學(xué)習(xí) Java 的包裝類,我們將了解到什么是包裝類,為什么需要包裝類,Java 提供的包裝類有哪些,各種包裝類的常用方法和常量介紹,什么是裝箱操作以及什么是拆箱操作等內(nèi)容。

1. 什么是包裝類

Java 有 8 種基本數(shù)據(jù)類型,Java 中的每個(gè)基本類型都被包裝成了一個(gè)類,這些類被稱為包裝類。

包裝類可以分為 3 類:Number、Character、Boolean,包裝類的架構(gòu)圖如下所示:

2. 為什么需要包裝類

我們知道 Java 是面向?qū)ο蟮木幊陶Z(yǔ)言,但為了便于開(kāi)發(fā)者上手,Java 沿用了 C 語(yǔ)言的基本數(shù)據(jù)類型,因此 Java 數(shù)據(jù)類型被分為了基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。

對(duì)于簡(jiǎn)單的運(yùn)算,開(kāi)發(fā)者可以直接使用基本數(shù)據(jù)類型。但對(duì)于需要對(duì)象化交互的場(chǎng)景(例如將基本數(shù)據(jù)類型存入集合中),就需要將基本數(shù)據(jù)類型封裝成 Java 對(duì)象,這是因?yàn)榛緮?shù)據(jù)類型不具備對(duì)象的一些特征,沒(méi)有對(duì)象的屬性和方法,也不能使用面向?qū)ο蟮木幊趟枷雭?lái)組織代碼。出于這個(gè)原因,包裝類就產(chǎn)生了。

包裝類就是一個(gè)類,因此它有屬性、方法,可以對(duì)象化交互。

3. 基本數(shù)據(jù)類型與包裝類

下表列出了基本數(shù)據(jù)類型對(duì)應(yīng)的包裝類。這些包裝類都位于 java.lang 包下,因此使用包裝類時(shí),我們不需要手動(dòng)引入。

基本數(shù)據(jù)類型 對(duì)應(yīng)的包裝類
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

除了 int 對(duì)應(yīng)的包裝類名稱為 Integer 以及 char 對(duì)應(yīng)的包裝類名稱 Character,其他 6 種數(shù)據(jù)類型對(duì)應(yīng)的包裝類,命名都為其基本數(shù)據(jù)類型的首字母的大寫(xiě)。

4. 包裝類常用方法

4.1 Number 類

Number 類是所有數(shù)值類型包裝類的父類,這里以其中一個(gè)子類 Integer 類為例,介紹其構(gòu)造方法、常用方法以及常量。

4.1.1 構(gòu)造方法

Integer 類提供兩個(gè)構(gòu)造方法:

  1. Integer(int value):以 int 型變量作為參數(shù)創(chuàng)建 Integer 對(duì)象;
  2. Integer(String s):以 String 型變量作為參數(shù)創(chuàng)建 Integer 對(duì)象。

實(shí)例如下:

// 以 int 型變量作為參數(shù)創(chuàng)建 Integer 對(duì)象
Integer num = new Integer(3);
// 以 String 型變量作為參數(shù)創(chuàng)建 Integer 對(duì)象
Integer num = new Integer("8");

4.1.2 常用方法

  • byte byteValue():以 byte 類型返回該 Integer 的值;
  • int compareTo(Integer anotherInteger):在數(shù)值上比較兩個(gè) Integer 對(duì)象。如果這兩個(gè)值相等,則返回 0;如果調(diào)用對(duì)象的數(shù)值小于 anotherInteger 的數(shù)值,則返回負(fù)值;如果調(diào)用對(duì)象的數(shù)值大于 anotherInteger 的數(shù)值,則返回正值;
  • boolean equals(Object obj):比較此對(duì)象與指定對(duì)象是否相等;
  • int intValue():以 int 類型返回此 Integer 對(duì)象;
  • int shortValue():以 short 類型返回此 Integer 對(duì)象;
  • toString():返回一個(gè)表示該 Integer 值的 String 對(duì)象;
  • static Integer valueOf(String str):返回保存指定的 String 值的 Integer 對(duì) 象;
  • int parseInt(String str):返回包含在由 str 指定的字符串中的數(shù)字的等價(jià)整數(shù)值。

更多常用方法請(qǐng)翻閱官方文檔

4.1.3 常用常量

  1. MAX_VALUE: 表示 int 型可取的最大值;
  2. MIN_VALUE: 表示 int 型可取的最小值;
  3. SIZE:表示以二進(jìn)制補(bǔ)碼形式表示 int 值的位數(shù);
  4. TYPE: 表示基本類型 Class 實(shí)例。

這些常量的使用實(shí)例如下:

實(shí)例演示
預(yù)覽 復(fù)制
復(fù)制成功!
public class WrapperClassDemo1 {

    public static void main(String[] args) {
        int maxValue = Integer.MAX_VALUE;
        int minValue = Integer.MIN_VALUE;
        int size = Integer.SIZE;
        System.out.println("int 類型可取的最大值" + maxValue);
        System.out.println("int 類型可取的最小值" + minValue);
        System.out.println("int 類型的二進(jìn)制位數(shù)" + size);
    }

}
運(yùn)行案例 點(diǎn)擊 "運(yùn)行案例" 可查看在線運(yùn)行效果

運(yùn)行結(jié)果:

int 類型可取的最大值2147483647
int 類型可取的最小值-2147483648
int 類型的二進(jìn)制位數(shù)32

4.2 Character 類

Character 類在對(duì)象中包裝一個(gè)基本類型為 char 的值。一個(gè) Character 對(duì)象包含類型為 char 的單個(gè)字段。

4.2.1 構(gòu)造方法

Character 類提供了一個(gè)構(gòu)造方法:

Character(char value):很少使用。

4.2.2 常用方法

  • char charValue():返回此 Character 對(duì)象的值;
  • int compareTo(Character anotherCharacter):返回此 Character 對(duì)象的值,根據(jù)數(shù)字比較兩個(gè) Character 對(duì)象,若這兩個(gè)對(duì)象相等則返回 0 ;
  • boolean equals(Object obj):將調(diào)用該方法的對(duì)象與指定的對(duì)象相比較;
  • char toUpperCase(char ch):將字符參數(shù)轉(zhuǎn)換為大寫(xiě);
  • char toLowerCase(char ch):將字符參數(shù)轉(zhuǎn)換為小寫(xiě);
  • String toString():返回一個(gè)表示指定 char 值的 String 對(duì)象;
  • char charValue():返回此 Character 對(duì)象的值;
  • boolean isUpperCase(char ch):判斷指定字符是否是大寫(xiě)字符;
  • boolean isLowerCase(char ch):判斷指定字符是否是小寫(xiě)字符。

更多常用方法請(qǐng)翻閱官方文檔

4.3 Boolean 類

Boolean 類將基本類型為 boolean 的值包裝在一個(gè)對(duì)象中。一個(gè) Boolean 類型的對(duì)象只包含一個(gè)類型為 boolean 的字段。此外,此類還為 boolean 和 String 的相互轉(zhuǎn)換提供了許多方法,并提供了處理 boolean 時(shí)非常有用的其他一些常量和方法。

4.3.1 構(gòu)造方法

Boolean 類提供了如下兩個(gè)構(gòu)造方法:

  1. Boolean(boolean value):創(chuàng)建一個(gè)表示 value 參數(shù)的 boolean 對(duì)象(很少使用);
  2. Boolean(String s):以 String 變量作為參數(shù),創(chuàng)建 boolean 對(duì)象。此時(shí),如果傳入的字符串不為 null,且忽略大小寫(xiě)后的內(nèi)容等于 “true”,則生成 Boolean 對(duì)象值為 true,反之為 false。(很少使用)。

4.3.2 常用方法

  • boolean booleanValue():將 Boolean 對(duì)象的值以對(duì)應(yīng)的 boolean 值返回;
  • boolean equals(Object obj):判斷調(diào)用該方法的對(duì)象與 obj 是否相等,當(dāng)且僅當(dāng)參數(shù)不是 null,而且與調(diào)用該方法的對(duì)象一樣都表示同一個(gè) boolean 值的 Boolean 對(duì)象時(shí), 才返回 true;
  • boolean parseBoolean(Sting):將字符串參數(shù)解析為 boolean 值;
  • String toString():返回表示該 boolean 值的 String 對(duì)象;
  • boolean valueOf(String s):返回一個(gè)用指定的字符串表示值的 boolean 值。

更多常用方法請(qǐng)翻閱官方文檔

4.3.3 常用常量

  • TRUE:對(duì)應(yīng)基值 true 的 Boolean 對(duì)象;
  • FALSR:對(duì)應(yīng)基值 false 的 Boolean 對(duì)象;
  • TYPE:表示基本類型 Class 實(shí)例。

5. 裝箱和拆箱

裝箱就是基本數(shù)據(jù)類型向包裝類轉(zhuǎn)換;拆箱就是包裝類向基本數(shù)據(jù)類型轉(zhuǎn)換。裝箱和拆箱又有自動(dòng)和手動(dòng)之分。

實(shí)現(xiàn)裝箱的實(shí)例如下:

實(shí)例演示
預(yù)覽 復(fù)制
復(fù)制成功!
public class WrapperClassDemo2 {

    public static void main(String[] args) {
        // 自動(dòng)裝箱
        int num1 = 19;
        Integer num2 = num1;
        System.out.println("num2=" + num2);

        // 手動(dòng)裝箱
        Integer num3 = new Integer(20);
        System.out.println("num3=" + num3);
    }

}
運(yùn)行案例 點(diǎn)擊 "運(yùn)行案例" 可查看在線運(yùn)行效果

運(yùn)行結(jié)果:

num2=19
num3=20

自動(dòng)裝箱就是直接將一個(gè)基本數(shù)據(jù)類型的變量,賦值給對(duì)應(yīng)包裝類型的變量;手動(dòng)裝箱就是調(diào)用包裝類的構(gòu)造方法(在 Java14 中已經(jīng)過(guò)時(shí),不推薦這樣的操作)。

實(shí)現(xiàn)拆箱的實(shí)例如下:

實(shí)例演示
預(yù)覽 復(fù)制
復(fù)制成功!
public class WrapperClassDemo3 {

    public static void main(String[] args) {
        // 自動(dòng)拆箱
        Integer num1 = 19;
        int num2 = num1;
        System.out.println("num2=" + num2);

        // 手動(dòng)拆箱
        int num3 = num1.intValue();
        System.out.println("num3=" + num3);
    }

}
運(yùn)行案例 點(diǎn)擊 "運(yùn)行案例" 可查看在線運(yùn)行效果

運(yùn)行結(jié)果:

num2=19
num3=19

自動(dòng)拆箱就是直接將一個(gè)包裝類型的變量,賦值給對(duì)應(yīng)的基本數(shù)據(jù)類型變量;手動(dòng)拆箱通過(guò)調(diào)用對(duì)應(yīng)包裝類下的 xxxValue() 方法來(lái)實(shí)現(xiàn)。

6. 小結(jié)

通過(guò)本小節(jié)的學(xué)習(xí),我們知道了包裝類就是將基本數(shù)據(jù)類型包裝成的類,它有屬性、方法,可以對(duì)象化交互。除了 int 對(duì)應(yīng)的包裝類名稱為 Integer 以及 char 對(duì)應(yīng)的包裝類名稱 Character,其他 6 種數(shù)據(jù)類型對(duì)應(yīng)的包裝類,命名都為其基本數(shù)據(jù)類型的首字母的大寫(xiě)。裝箱就是基本數(shù)據(jù)類型向包裝類轉(zhuǎn)換,拆箱就是包裝類向基本數(shù)據(jù)類型轉(zhuǎn)換。