1. 程式人生 > >java ->基本數據類型與包裝類的概述和轉化

java ->基本數據類型與包裝類的概述和轉化

參數 orm int 引用 拆箱 再次 spa style 一個

基本類型 包裝類概述

   在實際程序使用中,程序界面上用戶輸入的數據都是以字符串類型進行存儲的。而程序開發中,我們需要把字符串數據,根據需求轉換成指定的基本數據類型,如年齡需要轉換成int類型,考試成績需要轉換成double類型等。那麽,想實現字符串與基本數據之間轉換怎麽辦呢?

Java中提供了相應的對象來解決該問題,基本數據類型對象包裝類:java將基本數據類型值封裝成了對象。封裝成對象有什麽好處?可以提供更多的操作基本數值的功能。

8種基本類型對應的包裝類如下:

byte -> Byte

short ->Short

int -> Integer

long ->Lomg

double ->Double

float ->Float

char ->Character

boolean ->Boolean

其中需要註意int對應的是Integer,char對應的Character,其他6個都是基本類型首字母大寫即可。

基本數據類型對象包裝類特點:用於在基本數據和字符串之間進行轉換

  將字符串轉成基本類型:

parseXXX(String s);其中XXX表示基本類型,參數為可以轉成基本類型的字符串,如果字符串無法轉成基本類型,將會發生數字轉換的問題 NumberFormatException

System.out.println(Integer.parseInt("123")

+ 2);

//打印結果為 125

 將基本數值轉成字符串有3種方式:

 基本類型直接與””相連接即可;34+""

 調用String的valueOf方法;String.valueOf(34)

 調用包裝類中的toString方法;Integer.toString(34)

基本類型和對象轉換

使用int類型與Integer對象轉換進行演示,其他基本類型轉換方式相同。

 基本數值---->包裝對象

Integer i = new Integer(4);//使用構造函數函數

Integer ii = new Integer("4");//構造函數中可以傳遞一個數字字符串

Integer iii = Integer.valueOf

(4);//使用包裝類中的valueOf方法

Integer iiii = Integer.valueOf("4");//使用包裝類中的valueOf方法

 包裝對象---->基本數值

int num = i.intValue();

自動裝箱拆箱

在需要的情況下,基本類型與包裝類型可以通用。有些時候我們必須使用引用數據類型時,可以傳入基本數據類型。

比如:

基本類型可以使用運算符直接進行計算,但是引用類型不可以。而基本類型包裝類作為引用類型的一種卻可以計算,原因在於,Java”偷偷地”自動地進行了對象向基本數據類型的轉換。

相對應的,引用數據類型變量的值必須是new出來的內存空間地址值,而我們可以將一個基本類型的值賦值給一個基本類型包裝類的引用。原因同樣在於Java又”偷偷地”自動地進行了基本數據類型向對象的轉換。

l 自動拆箱:對象自動直接轉成基本數值

l 自動裝箱:基本數值自動直接轉成對象

Integer i = 4;//自動裝箱。相當於Integer i = Integer.valueOf(4);

i = i + 5;//等號右邊:將i對象轉成基本數值(自動拆箱) i.intValue() + 5; 加法運算完成後,再次裝箱,把基本數值轉成對象。

l 自動裝箱(byte常量池)細節的演示

當數值在byte範圍之內時,進行自動裝箱,不會新創建對象空間而是使用已有的空間。

Integer a = new Integer(300);

Integer b = new Integer(300);

System.out.println(a==b);//false

System.out.println(a.equals(b));//true

System.out.println("---------------------");

Integer x = 127;

Integer y = 127;

//在jdk1.5自動裝箱時,如果數值在byte範圍之內,不會新創建對象空間而是使用原來已有的空間

System.out.println(x==y); //true

System.out.println(x.equals(y)); //true

java ->基本數據類型與包裝類的概述和轉化