1. 程式人生 > >java基本類型包裝類

java基本類型包裝類

常量池 計算 地址 int 字符 microsoft 構造函數 png pre

一.基本類型包裝類概述

在實際程序使用中,程序界面上用戶輸入的數據都是以字符串類型進行存儲的

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

技術分享圖片

1.將字符串轉成基本類型:

技術分享圖片

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

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

調用StringvalueOf方法;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基本類型包裝類