當(dāng)前位置:首頁 > IT技術(shù) > 編程語言 > 正文

《JavaSE基礎(chǔ)知識細(xì)節(jié)》:包裝類全細(xì)節(jié)歸納(5000字超詳解)
2022-05-11 10:57:24

目錄

??一、基本介紹??

??1、什么是包裝類??

??2、基本分類??

??3、拆箱與裝箱??

??二、Integer 類??

??1、基本介紹??

??2、常用方法??

??3、常量??

??三、Boolean 類???

??四、Byte 類???

??五、Double 類???

??五、Character?類???


一、基本介紹


1、什么是包裝類

? ? ????? ? ??Java中的基本數(shù)據(jù)類型是沒有方法和屬性的,使用基本數(shù)據(jù)類型在于效率,然而很多情況,會創(chuàng)建對象來使用,因?yàn)閷ο罂梢宰龈嗟墓δ堋S谑荍ava設(shè)計(jì)者為了實(shí)現(xiàn)對象化交互,設(shè)計(jì)了包裝類,而包裝類就是為了讓這些擁有方法和屬性。


????????? Java提供了兩種類型的系統(tǒng),基本類型與引用類型,如果想要我們的基本類型像對象一樣操作,就可以使用基本類型對應(yīng)的包裝類,其中數(shù)值型包裝類都繼承至 Number類,而字符型和布爾型繼承至 Object類。其實(shí)這些類就是封裝不同的數(shù)據(jù)類型,其中包含的方法基本相同。




2、基本分類

基本數(shù)據(jù)類型

包裝類

boolean

Boolean

char

Character

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double




3、拆箱與裝箱

€€ 基本概述:


? ? ? ? ? 基本類型與對應(yīng)的包裝類對象之間,來回轉(zhuǎn)換的過程稱為”裝箱“與”拆箱“,

? ? ? ? ? ? ? 解釋:

????????????????>﹥?裝箱:從基本類型轉(zhuǎn)換為對應(yīng)的包裝類對象。
????????????????>﹥ 拆箱:從包裝類對象轉(zhuǎn)換為對應(yīng)的基本類型。


? ? ? ? ?? 注意:


???????????????? >﹥? jdk5 前,是手動裝箱和拆箱


???????????????? >﹥? jdk5 后,就可以自動裝箱和自動拆箱






€€??int ← 相互轉(zhuǎn)換 → Integer? ==》代碼示例:



//手動裝箱 int->Integer 

Integer integer = new Integer(100); //使用構(gòu)造函數(shù)
Integer integer1 = Integer.valueOf(100); //使用包裝類中的valueOf方法


//手動拆箱 Integer -> int

int i = integer.intValue(); //使用intValue()方法
//自動裝箱 int->Integer 
Integer integer2 = 100; //底層使用的是 Integer.valueOf(n2)


//自動拆箱 Integer->int
int n3 = integer2; //底層仍然使用的是 intValue()方法
Integer io = 1;//自動裝箱,相當(dāng)于Integer io = Integer.valueOf(4);


//等號右邊:將i對象轉(zhuǎn)成基本數(shù)值(自動拆箱) io.intValue() + 1;
io = io + 1;
//加法運(yùn)算完成后,再次自動裝箱,把基本數(shù)值轉(zhuǎn)成對象。


€€ 三目運(yùn)算符的細(xì)節(jié):


Object obj1 = true ?new Integer(1) : new Double(2.0);


? ? ? ? 培培解析:此處為真,和很多人肯定毫無疑問的直接說結(jié)果為 1 ,然而卻是錯的,因?yàn)槿窟\(yùn)算符會自動提高精度,即由 int 轉(zhuǎn)成 double ,所以輸出結(jié)果為 1.0 。




€€ 包裝類和String類型相互轉(zhuǎn)換:


? ? ? ? ~包裝類(Integer)轉(zhuǎn)成String的三種方式? ? ??


Integer io = 100; //自動裝箱

//第一種方式,加空字符串
String str1 = io + "";

//第二種方式,調(diào)用toString方法
String str2 = io.toString();

//第三種方式,調(diào)用valueOf(i)
String str3 = String.valueOf(i);


? ? ? ??~String 轉(zhuǎn)換成 包裝類(Integer)?


String str = "12345"; 

//方法1:使用到自動裝箱,通過Integer靜態(tài)方法parseInt()進(jìn)行轉(zhuǎn)換
Integer i1 = Integer.parseInt(str);


//方法2:構(gòu)造器
Integer i2 = new Integer(str);


//方式3:String --﹥ Integer --﹥ int
Integer i3 = Integer.valueOf(str);
int i4= i3.intValue(); //調(diào)用的方法:public int intValue()







二、Integer 類


1、基本介紹

? 概述:

? ? ? ? Integer 類在對象中包裝了一個基本類型 int 的值。該類的對象包含一個 int 類型的字段。該類提供了多種方法,能在int 類型和String 類型之間進(jìn)行轉(zhuǎn)換,同時還提供了處理int

類型時常用的常量和方法。?


? 構(gòu)造方法:

? ? ? ?? Integer(int number): 該方法以一個int型變量作為參數(shù)來獲取Ineger 對象。

???????????代碼示例:


Integer number = new Integer (3) ;


????????? Integer(String str): 該方法以一 個String型變量作為參數(shù)來獲取Integer對象。(注意:要用數(shù)值類型String型變量作為參數(shù),否則會拋出NumberFormatException異常)

? ? ? ? ? ? 代碼示例:


Integer number = new Integer ("3");


2、常用方法

方法

功能描述

byteValue()

以byte類型返回該Integer的值

Int compareTo(Integer anotherinteger)

在數(shù)字上比較兩個Integer對象。如果這兩個值相等,則返回0;如果調(diào)用對象的數(shù)值小于anothertnteger的數(shù)值,則返回負(fù)值:如果調(diào)用對象的數(shù)值大于anotherInteger的數(shù)值,則返回正值

boolean equals(Object IntegerObj)

比較此對象與指定的對象是否相等

int intValue()

以int型返回此Integer對象

short shortValue()

以short型返回此Integer對象

String toString()

返回一個表示該Integer值的String對象

Integer valueOf(String str)

返回保存指定的String 值的Integer 對象

int parseInt(String str)

返回包含在由str指定的字符串中的數(shù)字的等價整數(shù)值




3、常量

????????? MAX_VALUE: 表示int類型可取的最大值。

????????? MIN_VALUE: 表示int類型可取的最小值。
????????? SIZE: 用來以二進(jìn)制補(bǔ)碼形式表示int 值的位數(shù)。
????????? TYPE: 表示基本類型int的Class實(shí)例。


//返回最小值 
System.out.println(Integer.MIN_VALUE);


//返回最大值
System.out.println(Integer.MAX_VALUE);




三、Boolean 類?


1、構(gòu)造方法:

??????????Boolean(boolean value): 該方法創(chuàng)建個 表示value參數(shù)的Boolean對象。
????????????代碼示例:


Boolean b = new Boolean (true) ;


????????? Boolean(String str): 該方法以String變量作為參數(shù)創(chuàng)建Boolean對象。如果String 參數(shù)不為null,且在忽略大小寫時等于true,則分配一個表示true值的Boolean對象;否則獲得一個false 值的Boolean對象。
? ? ? ? ? ? 代碼示例:


Boolean bool = new Boolean ("Java");


2、常用方法:

方法

功能描述

boolean booleanValue()

將Boolean對象的值以對應(yīng)的boolean值返回

boolean equals(Object obj)

判斷調(diào)用該方法的對象與obj 是否相等。當(dāng)且僅當(dāng)參數(shù)不是null, 而且與調(diào)用該方法的對象一樣都表示同一個Boolean值的boolean對象時,才返回true

boolean parseBoolean(String s)

將字符串參數(shù)解析為boolean值

String toString()

返回表示該布爾值的String對象

Boolean valueOf(String s)

返回一個用指定的字符串表示值的boolean值




3、常量:
????????? TRUE: 對應(yīng)基值true的Boolean對象。

? ? ? ? ? FALSE: 對應(yīng)基值false的Boolean對象。

????????? TYPE: 基本類型boolean的Class對象。



四、Byte 類?


1、構(gòu)造方法


???????????Byte(byte value):通過這種方法創(chuàng)建的Byte對象,可表示指定的byte值。

? ? ? ? ? ? ? 代碼示例:


byte mybyte = 4;

Byte b = new Byte (mybyte);


? ? ? ? ? ??Byte(String str):通過這種方法創(chuàng)建的Byte 對象,可表示String參數(shù)所指示的byte值。

? ? ? ? ??????代碼示例:


Byte mybyte = new Byte ("4");


2、常用方法

方法

功能描述

byte byteValue()

以一個byte值返回Byte對象

int compare To(Byte anotherByte)

在數(shù)字上比較兩個Byte對象

double doubleValue()

以一個double值返回此Byte的值

Int intValue()

以一個int值返回此Byte的值

byte parseByte(String s)

將String型參數(shù)解析成等價的字節(jié)(byte) 形式

String toString()

返回表示此Byte的值的String對象

Byte valueOf(String str)

返回一個保持指定String所給出的值的Byte對象

boolean equals(Object obj)

將此對象與指定對象比較,如果調(diào)用該方法的對象與obj相等,則返回true;否則返回false




3、常量

?????????? MIN_VALUE: byte類型可取的最小值。
?????????? MAX_VALUE: byte類型可取的最大值。
?????????? SIZE: 用于以二進(jìn)制補(bǔ)碼形式表示 byte 值的位數(shù)。
?????????? TYPE: 表示基本類型 byte 的 Class實(shí)例。



五、Double 類?


1、構(gòu)造方法

??????????Double(double value): 基于 double參數(shù)創(chuàng)建Double類對象。

??????????Double(Sring str): 構(gòu)造一個新分配的 Double對象,表示用字符串表示的double類
?型的浮點(diǎn)值。




2、常用方法

方法

功能描述

?byte byteValue()

以 byte 形式返回 Double對象值(通過強(qiáng)制類型轉(zhuǎn)換)

?int compareTo(Double d)

?對兩個 Double 對象進(jìn)行數(shù)值比較。如果兩個值相等,則返回0;如果調(diào)用對象的數(shù)值小于d的數(shù)值,則返回負(fù)值;如果調(diào)用對象的數(shù)值大于d的值,則返回正值

boolean equals(Object obj)

?將此對象與指定的對象相比較

?int intValue()

?以 int 形式返回 double 值

boolean isNaN()

?如果此 double值是非數(shù)字(NaN)值,則返回 tue;否則返回 false

?String toString()

?返回此 Double 對象的字符串表示形式

Double valueOf(String str)

?返回保存用參數(shù)字符串str表示的 double值的 Double 對象

double doubleValue()

?以 double形式返回此 Double 對象

?long long Value()

以 long形式返回此 double 的值(強(qiáng)制轉(zhuǎn)換為 long類型)




3、常量

????????? MAX_EXPONENT : 返回int值,表示有限double變量可能具有的最大指數(shù)。

????????? MIN_EXPONENT : 返回int值,表示標(biāo)準(zhǔn)化double變量可能具有的最小指數(shù)。

????????? NEGATIVE_INFINITY : 返回double值,表示保存double類型的負(fù)無窮大值的常量。

????????? POSITIVE_INFINITY : 返回double值,表示保存double類型的正無窮大值的常量。



五、Character?類?


1、構(gòu)造方法
??????????Character (char value): 該類的構(gòu)造方法的參數(shù)必須是一一個 char類型的數(shù)據(jù)。通過該構(gòu)造方法創(chuàng)建的Character類對象包含由char類型參數(shù)提供的值。一日Character類被創(chuàng)建,它包含的數(shù)值就不能改變了。

? ? ? ? 代碼示例:


Character mychar = new Character('s');


2、常用方法

方法

功能描述

char charvalue()

返回此Character對象的值

int compareTo(Character anotherCharacter)

根據(jù)數(shù)字比較兩個Character對象,若這兩個對象相等則返回0

Boolean equals(Object obj)

將調(diào)用該方法的對象與指定的對象相比較

char toUpperCase(char ch)

將字符參數(shù)轉(zhuǎn)換為大寫

char toLowerCase(char ch)

將字符參數(shù)轉(zhuǎn)換為小寫

String toString()

返回一個表示指定char值的String對象

char charValue()

返回此Character對象的值

boolean isUpperCase(char ch)

判斷指定字符是否是大寫字符

boolean isLowerCase(char ch)

判斷指定字符是否是小寫字符




3、常量

??????????CONNECTOR_PUNCTUATION : 返回byte型值,表示Unicode規(guī)范中的常規(guī)類別"Pc”。????????

??????????UNASSIGNED : 返回byte型值,表示Unicode規(guī)范中的常規(guī)類別“Cn”。
????????? TITLECASE_LETTER : 返回byte型值,表示Unicode規(guī)范中的常規(guī)類別“Lt”。



本文摘自 :https://blog.51cto.com/u

開通會員,享受整站包年服務(wù)立即開通 >