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

《JavaSE基礎(chǔ)知識(shí)細(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ù)類型在于效率,然而很多情況,會(huì)創(chuàng)建對(duì)象來使用,因?yàn)閷?duì)象可以做更多的功能。于是Java設(shè)計(jì)者為了實(shí)現(xiàn)對(duì)象化交互,設(shè)計(jì)了包裝類,而包裝類就是為了讓這些擁有方法和屬性。


????????? Java提供了兩種類型的系統(tǒng),基本類型與引用類型,如果想要我們的基本類型像對(duì)象一樣操作,就可以使用基本類型對(duì)應(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、拆箱與裝箱

€€ 基本概述:


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

? ? ? ? ? ? ? 解釋:

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


? ? ? ? ?? 注意:


???????????????? >﹥? jdk5 前,是手動(dòng)裝箱和拆箱


???????????????? >﹥? jdk5 后,就可以自動(dòng)裝箱和自動(dòng)拆箱






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



//手動(dòng)裝箱 int->Integer 

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


//手動(dòng)拆箱 Integer -> int

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


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


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


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


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


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




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


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


Integer io = 100; //自動(dòng)裝箱

//第一種方式,加空字符串
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:使用到自動(dòng)裝箱,通過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 類在對(duì)象中包裝了一個(gè)基本類型 int 的值。該類的對(duì)象包含一個(gè) int 類型的字段。該類提供了多種方法,能在int 類型和String 類型之間進(jìn)行轉(zhuǎn)換,同時(shí)還提供了處理int

類型時(shí)常用的常量和方法。?


? 構(gòu)造方法:

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

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


Integer number = new Integer (3) ;


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

? ? ? ? ? ? 代碼示例:


Integer number = new Integer ("3");


2、常用方法

方法

功能描述

byteValue()

以byte類型返回該Integer的值

Int compareTo(Integer anotherinteger)

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

boolean equals(Object IntegerObj)

比較此對(duì)象與指定的對(duì)象是否相等

int intValue()

以int型返回此Integer對(duì)象

short shortValue()

以short型返回此Integer對(duì)象

String toString()

返回一個(gè)表示該Integer值的String對(duì)象

Integer valueOf(String str)

返回保存指定的String 值的Integer 對(duì)象

int parseInt(String str)

返回包含在由str指定的字符串中的數(shù)字的等價(jià)整數(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)建個(gè) 表示value參數(shù)的Boolean對(duì)象。
????????????代碼示例:


Boolean b = new Boolean (true) ;


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


Boolean bool = new Boolean ("Java");


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(String s)

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

String toString()

返回表示該布爾值的String對(duì)象

Boolean valueOf(String s)

返回一個(gè)用指定的字符串表示值的boolean值




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

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

????????? TYPE: 基本類型boolean的Class對(duì)象。



四、Byte 類?


1、構(gòu)造方法


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

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


byte mybyte = 4;

Byte b = new Byte (mybyte);


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

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


Byte mybyte = new Byte ("4");


2、常用方法

方法

功能描述

byte byteValue()

以一個(gè)byte值返回Byte對(duì)象

int compare To(Byte anotherByte)

在數(shù)字上比較兩個(gè)Byte對(duì)象

double doubleValue()

以一個(gè)double值返回此Byte的值

Int intValue()

以一個(gè)int值返回此Byte的值

byte parseByte(String s)

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

String toString()

返回表示此Byte的值的String對(duì)象

Byte valueOf(String str)

返回一個(gè)保持指定String所給出的值的Byte對(duì)象

boolean equals(Object obj)

將此對(duì)象與指定對(duì)象比較,如果調(diào)用該方法的對(duì)象與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類對(duì)象。

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




2、常用方法

方法

功能描述

?byte byteValue()

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

?int compareTo(Double d)

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

boolean equals(Object obj)

?將此對(duì)象與指定的對(duì)象相比較

?int intValue()

?以 int 形式返回 double 值

boolean isNaN()

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

?String toString()

?返回此 Double 對(duì)象的字符串表示形式

Double valueOf(String str)

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

double doubleValue()

?以 double形式返回此 Double 對(duì)象

?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ù)必須是一一個(gè) char類型的數(shù)據(jù)。通過該構(gòu)造方法創(chuàng)建的Character類對(duì)象包含由char類型參數(shù)提供的值。一日Character類被創(chuàng)建,它包含的數(shù)值就不能改變了。

? ? ? ? 代碼示例:


Character mychar = new Character('s');


2、常用方法

方法

功能描述

char charvalue()

返回此Character對(duì)象的值

int compareTo(Character anotherCharacter)

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

Boolean equals(Object obj)

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

char toUpperCase(char ch)

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

char toLowerCase(char ch)

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

String toString()

返回一個(gè)表示指定char值的String對(duì)象

char charValue()

返回此Character對(duì)象的值

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

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