天天看點

Java —— 包裝類(Wrapper類)

參考連結: Java包裝器Wrapper類

【概述】 

由于 Java 中的八種基本資料類型不面向對象,為了使用友善,為每個基本資料類型設計了一個對應的類,這樣八種基本資料類型對應的類統稱為包裝類(Wrapper Class),均位于 java.lang 包中。 

基本資料類型包裝類intBolleanbyteByteshortShortlongLongfloatFloatdoubleDoublebooleanBooleancharCharacter

包裝類的用途主要為以下兩種: 

作為基本資料類型對應的類類型存在,友善涉及到對象的操作包含每種基本資料類型的相關屬性(最大值、最小值等)以及相關的操作方法

【Number 類】 

抽象類 Number 是 BigDecimal、BigInteger、Double、Float、Integer、Long、Short、Byte 類的父類其方法分别被其各個子類所實作,以下 6 種方法是最常見的

傳回值方法功能bytebyteValue()以byte類型傳回指定的數值shortshortValue()以short類型傳回指定的數值intintValue()以int類型傳回指定的數值longlongValue()以long類型傳回指定的數值floatfloatValue()以float類型傳回指定的數值doubledoubleValue()以double類型傳回指定的數值

【Integer 類】 

Integer 類、Long 類、Short 類、Byte 類都是對整數進行操作,包含的方法基本相同,差別隻是表示的範圍不同,以下以 Integer 類介紹整數包裝類。 

1.構造器 

1)Integer(int value):以一個 int 型變量作為參數擷取 Integer 對象 

2)Integer(String str):以一個 String 型變量作為參數擷取 Integer 對象(要用數值型 String 變量作為參數,否則會抛出 NumberFormatException異常) 

Integer a=new Integer(10);

Integer a=new Integer("123"); 

2.常用方法 

傳回值方法功能intcompareTo(Integer obj)在數字上比較兩Integer對象是否相等,相同傳回0,小于傳回-1,大于傳回1booleanequals(Object obj)比較此對象與指定對象是否相等IntegervalueOf(int obj)傳回一個表示指定的int值的Integer執行個體intparseInt(String str)傳回一個将str解析後的int型變量StringtoString()以String類型傳回該Integer對象

3.常量 

MAX_VALUE:int 型可取的最大值,即:2^31-1(2147483647)MIN_VALUE:int 型可取的最小值,即:-2^31(-2147483648)SIZE:以二進制補碼形式表示 int 值的位數TYPE:表示基本類型 int 的 Class 執行個體

【Double 類】 

Double 類、Float 類都是對小數進行操作,包含的方法基本相同,差別隻是表示的範圍不同,以下以 Double 類介紹小數包裝類。 

1.構造器 

1)Double(double value):以一個 double 型變量作為參數擷取 Double 對象 

2)Double(String str):以一個 String 型變量作為參數擷取 Double 對象(要用數值型 String 變量作為參數,否則會抛出 NumberFormatException異常) 

Double a=new double(1.23);

Double a=new double("4.56"); 

2.常用方法 

傳回值方法功能intcompareTo(Double obj)在數字上比較兩Integer對象是否相等,相同傳回0,小于傳回-1,大于傳回1booleanequals(Object obj)比較此對象與指定對象是否相等DoublevalueOf(double obj)傳回一個表示指定的double值的Double執行個體doubleparseInt(String str)傳回一個将str解析後的double型變量StringtoString()以String類型傳回該Double對象booleanisNaN()若此double值是非數字值(NaN),則傳回 true,否則傳回 false

3.常量 

MAX_EXPONENT:傳回 int 值,表有限 double 變量可能具有的最大指數。MIN_EXPONENT:傳回 int 值,表标準化 double 變量可能具有的最小指數。POSITIVE_INFINITY:傳回 double 值,表儲存 double 類型的正無窮大的常量。NEGATIVE_INFINITY:傳回 double 值,表儲存 double 類型的負無窮大的常量。

【Boolean 類】 

1.構造器 

1)Boolean(boolean value):建立一個表示 value 的 Boolean 對象 

2)Integer(String str):以一個 String 型變量作為參數建立 Boolean 對象(若 str 參數不為 null 且忽略大小寫時為 true,則配置設定一表 true 值的 Boolean 對象,否則獲得一 false 值的 Boolean 對象) 

Boolean a=new Boolean(true);

Boolean a=new Boolean("ok"); 

2.常用方法 

傳回值方法功能booleanequals(Object obj)    比較此對象與指定對象是否相等BooleanvalueOf(boolean obj)傳回一個表示指定的boolean值的Boolean執行個體booleanparseBoolean(String str)傳回一個将str解析後的boolean型變量StringtoString()以String類型傳回該Boolean對象

3.常量 

TRUE:對應基值為 true 的 Boolean 對象FALSE:對應基值為 false 的 Boolean 對象TYPE:表示基本類型 boolean 的 Class 執行個體

【Character 類】 

1.構造器 

Character(char value):建立一個表示 value 的 Character 對象(一旦 Character 類被建立,其包含的值無法再改變) 

Character a=new Character(‘a’); 

2.常用方法 

傳回值方法功能charcharValue()傳回此對象的值intcompareTo(Double obj)在數字上比較兩Integer對象是否相等,相同傳回0,小于傳回-1,大于傳回1booleanequals(Object obj)    比較此對象與指定對象是否相等chartoUpperCase(char ch)将字元參數轉換為大寫chartoLowerCase(char ch)将字元參數轉換為小寫booleantoUpperCase(char ch)判斷字元參數是否為大寫booleantoLowerCase(char ch)判斷字元參數是否為小寫StringtoString()傳回一個表示指定char值的Character對象

3.常量 

CONNECTOR_PUNCTUATION:傳回 byte 型值,表示 Unicode 規範中的正常類别 “Pc”UNASSIGNED:傳回 byte 型值,表示 Unicode 規範中的正常類别 “Cn”TITLECASE_LETTER:傳回 byte 型值,表示 Unicode 規範中的正常類别 “Lt”

【自動拆裝箱】 

JDK 自從 1.5 版本後,引入了自動拆裝箱的文法,即系統将自動進行基本資料類型和對應的包裝類轉換時。  

自動裝箱:将基本資料類型封裝為對象類型。 

自動拆箱:将對象重新轉化為基本資料類型。 

//自動裝箱,實際上執行了 Integer a=Integer.valueOf(5)

Integer a=5;

//自動拆箱,實際上執行了 int b=a.intValue()

int b=a; 

【包裝類、基本資料類型、String 類的轉化】 

注:要将 String 轉為 char 變量,使用 atChar() 方法;要轉為 char 數組,使用 toCharArrays() 方法