生活随笔
收集整理的這篇文章主要介紹了
Java包装类API详解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在實(shí)際程序使用中,程序界面上用戶輸入的數(shù)據(jù)都是以字符串類型進(jìn)行存儲(chǔ)的。而程序開(kāi)發(fā)中,我們需要把字符串?dāng)?shù)據(jù),根據(jù)需求轉(zhuǎn)換成指定的基本數(shù)據(jù)類型,如年齡需要轉(zhuǎn)換成int類型,考試成績(jī)需要轉(zhuǎn)換成double類型等。那么,想實(shí)現(xiàn)字符串與基本數(shù)據(jù)之間轉(zhuǎn)換怎么辦呢? Java中提供了相應(yīng)的對(duì)象來(lái)解決該問(wèn)題,基本數(shù)據(jù)類型對(duì)象包裝類:java將基本數(shù)據(jù)類型值封裝成了對(duì)象。封裝成對(duì)象有什么好處?可以提供更多的操作基本數(shù)值的功能。 8種基本類型對(duì)應(yīng)的包裝類中需要注意int對(duì)應(yīng)的是Integer,char對(duì)應(yīng)的Character,其他6個(gè)都是基本類型首字母大寫即可。
/** 需求:判斷一個(gè)數(shù)是否符合int類型的范圍* 由于基本數(shù)據(jù)類型只能做一些簡(jiǎn)單的操作和運(yùn)算,所以Java為我們封裝了基本數(shù)據(jù)類型,為每種基本數(shù)據(jù)類型提供了包裝類* 包裝類就是封裝了基本數(shù)據(jù)類型的類,為我們提供了更多復(fù)雜的方法和一些變量* * byte Byte* short Short* char Character* int Integer* long Long* float Float* double Double* boolean Boolean* * Integer:* String --- int* 方式1:int intValue()* 方式2: static int parseInt(String s) * int --- String* 方式1: + ""* 方式2:String toString()* * 構(gòu)造方法:* Integer(int value) * Integer(String s) */
public class IntegerDemo {public static void main(String[] args) {/*int n = 10;if(n >= Math.pow(-2, 31) && n <= Math.pow(2, 31) -1) {System.out.println("符合");}else {System.out.println("不符合");}*/Integer i = new Integer("10");System.out.println(i);int a = i.intValue();System.out.println(a + 10 );int b = Integer.parseInt("20");System.out.println(b + 30);Integer i2 = new Integer(40);String s = i2.toString();System.out.println(s);String s2 = Integer.toString(50);System.out.println(s2);}
}
包裝類的自動(dòng)拆箱與自動(dòng)裝箱
在需要的情況下,基本類型與包裝類型可以通用。有些時(shí)候我們必須使用引用數(shù)據(jù)類型時(shí),可以傳入基本數(shù)據(jù)類型。 比如: 基本類型可以使用運(yùn)算符直接進(jìn)行計(jì)算,但是引用類型不可以。而基本類型包裝類作為引用類型的一種卻可以計(jì)算,原因在于,Java”偷偷地”自動(dòng)地進(jìn)行了對(duì)象向基本數(shù)據(jù)類型的轉(zhuǎn)換。 相對(duì)應(yīng)的,引用數(shù)據(jù)類型變量的值必須是new出來(lái)的內(nèi)存空間地址值,而我們可以將一個(gè)基本類型的值賦值給一個(gè)基本類型包裝類的引用。原因同樣在于Java又”偷偷地”自動(dòng)地進(jìn)行了基本數(shù)據(jù)類型向?qū)ο蟮霓D(zhuǎn)換。 自動(dòng)拆箱:對(duì)象轉(zhuǎn)成基本數(shù)值 自動(dòng)裝箱:基本數(shù)值轉(zhuǎn)成對(duì)象
/** JDK1.5特性:自動(dòng)裝箱和拆箱* */
public class IntegerDemo2 {public static void main(String[] args) {//Integer i = new Integer(10);//自動(dòng)裝箱//相當(dāng)于: Integer i = new Integer(10);//Integer i = 10;//自動(dòng)拆箱//相當(dāng)于 int a = i.intValue();//Integer i = 10;//int a = i;Integer i = 10;Integer i2 = 20;Integer i3 = i + i2;/** Integer i3 = new Integer(i.intValue() + i2.intValue());* */ArrayList list = new ArrayList();list.add(1);//自動(dòng)裝箱,list.add(new Integer(1));}
}
總結(jié)
以上是生活随笔 為你收集整理的Java包装类API详解 的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔 網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔 推薦給好友。