日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

关于包装java_[java初探09]__关于java的包装类

發(fā)布時(shí)間:2023/12/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于包装java_[java初探09]__关于java的包装类 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

在Java語(yǔ)言的學(xué)習(xí)過(guò)程中,我們逐漸的理解了Java面向?qū)ο蟮乃枷?與類和對(duì)象的應(yīng)用.但是在基本數(shù)據(jù)類型的使用上,我們無(wú)法將其定義為一個(gè)對(duì)象,通過(guò)使用對(duì)象的方法來(lái)使用它們,但是Java語(yǔ)言的思想又是面向?qū)ο蟮?那么在Java語(yǔ)言中,是否能夠解決這個(gè)問(wèn)題,使基本數(shù)據(jù)類型能夠以對(duì)象的形式使用呢.答案當(dāng)然是有的,本篇文章就基于這點(diǎn)介紹學(xué)習(xí)一下Java的包裝類.

什么是包裝類

包裝類就是為了使用戶能夠?qū)⒒緮?shù)據(jù)類型視作對(duì)象處理而對(duì)每個(gè)基本數(shù)據(jù)類型進(jìn)行重新包裝的類.我們可以通過(guò)這些類來(lái)new一個(gè)基本數(shù)據(jù)類型的對(duì)象.從而使基本數(shù)據(jù)類型也能夠視為對(duì)象來(lái)處理.

我們?cè)谇懊娴膶W(xué)習(xí)中了解到,Java語(yǔ)言其實(shí)就是基于一套Java的標(biāo)準(zhǔn)類庫(kù)的,我們編寫Java程序就是在其基礎(chǔ)上來(lái)編程的,我們也知道,一項(xiàng)問(wèn)題通過(guò)面向?qū)ο蟮乃枷虢鉀Q,就是要先將其抽象為對(duì)象,然后分析其屬性和行為,最后封裝成類,加入到類庫(kù)之中,然后通過(guò)用戶的調(diào)用,解決問(wèn)題.

所以在Java語(yǔ)言中,為了使各種基本數(shù)據(jù)類型能夠當(dāng)作對(duì)象來(lái)使用,它給我們提供了各基本數(shù)據(jù)類型的包裝類.

包裝類存放在Java類庫(kù)的java.lang包下:

關(guān)于java.lang包:

java.lang是提供利用 Java 編程語(yǔ)言進(jìn)行程序設(shè)計(jì)的基礎(chǔ)類。最重要的類是Object(它是類層次結(jié)構(gòu)的根)和 Class(它的實(shí)例表示正在運(yùn)行的應(yīng)用程序中的類)。把基本類型的值當(dāng)成一個(gè)對(duì)象來(lái)表示通常很有必要。包裝器類 Boolean、Character、Integer、Long、Float 和 Double 就是用于這個(gè)目的。

Integer類

我們知道,整數(shù)類型有byte,short,int,long四種.我們回顧一下,byte的大小是一個(gè)字節(jié)(即如其命名一般只有一byte大小),short則占兩個(gè)字節(jié)(byte)int占四個(gè)字節(jié)long占八個(gè)字節(jié),他們的內(nèi)存大小關(guān)系其實(shí)是一個(gè)以2為乘數(shù)為基礎(chǔ)遞增的關(guān)系.所以在JAVA語(yǔ)言中也有與其對(duì)應(yīng)的包裝類,這里就只挑其中最常使用到的int型的包裝類Integer類做說(shuō)明.

Integer類在對(duì)象中包裝了一個(gè)iint型的值,該類的對(duì)象包含一個(gè)int類型的字段.此外該類還提供了幾個(gè)方法,能夠使int型和String型相互轉(zhuǎn)換.同時(shí)還有提供了一些處理int類型時(shí)非常有用的常量和方法.

構(gòu)造方法

Integer類提供了兩種構(gòu)造對(duì)象的方法.

Interger(int number)

該方法以一個(gè)int型變量作為參數(shù)來(lái)獲取Interger對(duì)象.

Interger(String str)

該方法以一個(gè)String型變量作為參數(shù)創(chuàng)建Interger對(duì)象。

Integer integer = new Integer(123);

Integer integer1 = new Integer("23");

Integer類提供的一些常用方法:

toString()方法

compareTo()方法

eqalus()方法

floatvalue()方法

valueOf(String str)方法

paseInt(String str)方法

其中需要注意的是,在以String類型構(gòu)建對(duì)象的時(shí)候,參數(shù)不能以真正隨意的字符串來(lái)定義。而是以字符串的形式,將一段int型數(shù)據(jù)存放在String類型中,然后傳參使用構(gòu)造方法構(gòu)建對(duì)象。

compareTo方法是在數(shù)字上比較兩個(gè)Integer對(duì)象,如果他們相等,返回0;如果對(duì)象小于傳入的參數(shù)對(duì)象,則返回負(fù)值。反之返回正值。

equals方法比較兩個(gè)對(duì)象是否相等。返回的是boolean型數(shù)據(jù)。

其他的幾個(gè)方法則是類型轉(zhuǎn)換,講對(duì)象的類型轉(zhuǎn)換以其他幾種基本數(shù)據(jù)類型輸出。

valueOf(String str)方法與paseInt(String str)方法的區(qū)別就是前者返回的是一個(gè)Integer對(duì)象,可以調(diào)用其方法,后者返回的是一個(gè)整數(shù)值.

// 將一個(gè)String值的數(shù)據(jù)以Integer對(duì)象返回.

System.out.println(Integer.valueOf(str).toString());

// 將一個(gè)String字符串中的數(shù)字以等價(jià)的int整數(shù)值返回.

System.out.println(Integer.parseInt(str));

關(guān)于整數(shù)類型的其他幾種類型的包裝類于Integer類是類似的。

Boolean類

我們可以發(fā)現(xiàn),Boolean類中的方法要少的多.

構(gòu)造方法

Boolean(boolean)

Boolean(String)

Boolean aBoolean = new Boolean(12<11);

Boolean aBoolean1 = new Boolean("flase");

常用方法

常用方法其實(shí)和Integer類似.

System.out.println(aBoolean.toString());

//將對(duì)象的值以對(duì)應(yīng)的boolean值返回

System.out.println(aBoolean.booleanValue());

//valueOf方法

System.out.println(Boolean.valueOf(str));

//paresBoolean方法

System.out.println(Boolean.parseBoolean(str));

// equals方法

System.out.println(aBoolean.equals(aBoolean1));

其中valueOf方法與paresBoolean方法的區(qū)別也是前者返回的是一個(gè)對(duì)象,后者返回的是一個(gè)boolean值.

character類

character類其實(shí)就是char類型的包裝類.

可以看到character類中的方法體眾多,這可能也更c(diǎn)har型是我們經(jīng)常使用到的數(shù)據(jù)類型,并且關(guān)于它的操作也非常多的原因.

構(gòu)造方法

Character character = new Character('a');

Character類的常用方法

charvalue()方法

compareTo()方法

equals()方法

toUpperCase(char ch)方法,將字符轉(zhuǎn)換為大寫

toLowerCase(char ch)方法.將字符轉(zhuǎn)換為小寫

toString()方法

isUpperCase(char ch)方法,判斷是否為大寫,返回值為boolean型

isLowerCase(char ch)方法,判斷是否為小寫,返回值為boolean型

// 將對(duì)象以char型值返回

System.out.println(character.charValue());

//以數(shù)字比較兩個(gè)對(duì)象

System.out.println(character.compareTo(character1));

//equals方法比較兩個(gè)對(duì)象

System.out.println(character.equals(character1));

//大小寫轉(zhuǎn)換

System.out.println(Character.toLowerCase(character));

System.out.println(Character.toUpperCase(character1));

//判斷大小寫

System.out.println(Character.isLowerCase(character));

System.out.println(Character.isUpperCase(character1));

}

Double類

Float類與Double類類似,double與float都是浮點(diǎn)類型,大小分別是float的四字節(jié),double的八字節(jié).這里就只簡(jiǎn)單看看Double類.

可以看到Double的構(gòu)造方法也是兩種,一種參數(shù)為double型,一種為String型,其實(shí)幾個(gè)基本數(shù)據(jù)類型的包裝類都很類似,畢竟他們都是為了實(shí)現(xiàn)相似的功能,將基本數(shù)據(jù)類型當(dāng)做對(duì)象來(lái)使用.

構(gòu)造方法

Double aDouble = new Double(12.345d);

Double aDouble1 = new Double("234.3456");

常用方法

常用方法大多和上面了解過(guò)的其他包裝類的方法類似,這里就不在介紹了.

isNaN()方法,如果此double值是非數(shù)字值返回flase

//常用方法

System.out.println(aDouble1.isNaN());

System.out.println(aDouble.equals(aDouble1));

System.out.println(aDouble.compareTo(aDouble1));

System.out.println(aDouble.floatValue());

Double.valueOf(aDouble);

Double.parseDouble(str);

Number類

Number類是一個(gè)抽象類,它是BigDecimal,BigInteger,Byte,Double,Float,Integer,Long和short這一系列表示數(shù)字類型的包裝類的父類.Number的子類必須提供將表示的數(shù)值轉(zhuǎn)換為byte,double等基本數(shù)據(jù)類型(非字符及字符串類型)的方法.

這些發(fā)方法就是:

Number類的方法分別被Number各子類所實(shí)現(xiàn),也就是說(shuō),在Number類的所有方法中都包含以上幾種方法.(這其實(shí)就是面向?qū)ο蟮亩鄳B(tài)性的一種體現(xiàn))

源代碼

package day_4_8;

/**

* @outhor xiaoshe

* @date 2019/4/8 - @time 22:26

* 包裝類

*/

public class sty_packgingclass {

public static void main(String[] args) {

sty_packgingclass packgingclass = new sty_packgingclass();

packgingclass.packgingInt();

packgingclass.packgingBoolean();

packgingclass.packgingCharacter();

packgingclass.packgingdouble();

}

/**

* int型的包裝類Integer。

*/

public void packgingInt(){

String str = "122";

// 通過(guò)int型參數(shù)構(gòu)建Integer對(duì)象

Integer integer = new Integer(234);

// 通過(guò)String型參數(shù)構(gòu)建Integer對(duì)象

Integer integer1 = new Integer("234");

//直接以對(duì)象輸出

System.out.println(integer);

System.out.println(integer1);

// 以將對(duì)象以其他類型輸出

System.out.println(integer.byteValue());

System.out.println(integer.floatValue());

// Integer類提供的幾個(gè)常用的方法

// 通過(guò)toString方法講對(duì)象以字符串形式輸出。

System.out.println(integer.toString());

// compareTO方法和equals方法比較兩個(gè)Integer的值。

System.out.println(integer.equals(integer1));

System.out.println(integer.compareTo(integer1));

// 將一個(gè)String值的數(shù)據(jù)以Integer對(duì)象返回.

System.out.println(Integer.valueOf(str).toString());

// 將一個(gè)String字符串中的數(shù)字以等價(jià)的int整數(shù)值返回.

System.out.println(Integer.parseInt(str));

}

/**

* Boolean類

*/

public void packgingBoolean(){

String str ="flase";

Boolean aBoolean = new Boolean(12<11);

Boolean aBoolean1 = new Boolean("flase");

System.out.println(aBoolean1);

System.out.println(aBoolean.toString());

//將對(duì)象的值以對(duì)應(yīng)的boolean值返回

System.out.println(aBoolean.booleanValue());

//valueOf方法

System.out.println(Boolean.valueOf(str));

//paresBoolean方法

System.out.println(Boolean.parseBoolean(str));

// equals方法

System.out.println(aBoolean.equals(aBoolean1));

}

/**

* character類

*/

public void packgingCharacter(){

//構(gòu)造方法實(shí)例化對(duì)象

Character character = new Character('A');

Character character1 = new Character('b');

// 將對(duì)象以char型值返回

System.out.println(character.charValue());

//以數(shù)字比較兩個(gè)對(duì)象

System.out.println(character.compareTo(character1));

//equals方法比較兩個(gè)對(duì)象

System.out.println(character.equals(character1));

//大小寫轉(zhuǎn)換

System.out.println(Character.toLowerCase(character));

System.out.println(Character.toUpperCase(character1));

//判斷大小寫

System.out.println(Character.isLowerCase(character));

System.out.println(Character.isUpperCase(character1));

}

/**

* Double類

*/

public void packgingdouble(){

String str = "123.456d";

Double aDouble = new Double(12.345d);

Double aDouble1 = new Double("234.3456");

//常用方法

System.out.println(aDouble1.isNaN());

System.out.println(aDouble.equals(aDouble1));

System.out.println(aDouble.compareTo(aDouble1));

System.out.println(aDouble.floatValue());

Double.valueOf(aDouble);

Double.parseDouble(str);

}

}

更新時(shí)間:

2019-4-9

2:08

總結(jié)

以上是生活随笔為你收集整理的关于包装java_[java初探09]__关于java的包装类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。