java基本類型包裝類
阿新 • • 發佈:2019-01-05
常量池 計算 地址 int 字符 microsoft 構造函數 png pre
一.基本類型包裝類概述
在實際程序使用中,程序界面上用戶輸入的數據都是以字符串類型進行存儲的
8種基本類型對應的包裝類如下:
1.將字符串轉成基本類型:
2.將基本數值轉成字符串有3種方式:
①基本類型直接與””相連接即可;例如:34+""
②調用String的valueOf方法;String.valueOf(34) ;
③調用包裝類中的toString方法;Integer.toString(34) ;
二.基本類型和對象轉換
1.基本數值→包裝對象
Integer(int value):構造一個新分配的Integer對象,它表示指定的int值
Integer(String s):構造一個新分配的Integer對象,它表示String參數所指示的int值
Integer i = new Integer(4);//使用構造函數函數 Integer ii = new Integer("4");//構造函數中可以傳遞一個數字字符串
ValueOf(int i):返回一個表示指定的int值的Integer實例
ValueOf(String s):返回一個表示指定的String值的Integer對象
Integer iii = Integer.valueOf(4);//使用包裝類中的valueOf方法 Integer iiii = Integer.valueOf("4");//使用包裝類中的valueOf方法
2.包裝對象→基本數值
intValue():以int類型返回該Integer的值
int num = i.intValue();
三.自動裝箱拆箱
基本類型可以使用運算符直接進行計算,但是引用類型不可以。而基本類型包裝類作為引用類型的一種卻可以計算,Java自動地進行了對象向基本數據類型的轉換。
引用數據類型變量的值必須是new出來的內存空間地址值,可以將一個基本類型的值賦值給一個基本類型包裝類的引用。原因同樣在於Java自動地進行了基本數據類型向對象的轉換。
自動拆箱:對象自動直接轉成基本數值
自動裝箱:基本數值自動直接轉成對象
Integer i = 4;//自動裝箱。相當於Integer i = Integer.valueOf(4); i = i + 5;//等號右邊:將i對象轉成基本數值(自動拆箱) i.intValue() + 5; 加法運算完成後,再次裝箱,把基本數值轉成對象。
自動裝箱(byte常量池)細節的演示
當數值在byte範圍之內時,進行自動裝箱,不會新創建對象空間而是使用已有的空間
Integer a = new Integer(3); Integer b = new Integer(3); 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基本類型包裝類