java之基本數(shù)據(jù)類型所對(duì)應(yīng)的包裝類使用
一、對(duì)應(yīng)列舉
Java 中有 8 種基本數(shù)據(jù)類型,每種基本數(shù)據(jù)類型都有對(duì)應(yīng)的包裝類,它們分別是:

二、包裝類的作用
1. 滿足面向?qū)ο缶幊绦枨?/h3>
Java 是面向?qū)ο蟮木幊陶Z言,基本數(shù)據(jù)類型不是對(duì)象,無法使用面向?qū)ο蟮奶匦?/strong>(如方法調(diào)用、繼承、多態(tài)等)。而包裝類是對(duì)象,可以像操作其他對(duì)象一樣操作它們。
例如:
Integer num = 10; // 可以調(diào)用包裝類提供的方法,獲取數(shù)字的二進(jìn)制表示形式 String binaryString = num.toBinaryString(num); System.out.println(binaryString);
在上述代碼中,運(yùn)用了int的包裝類的方法調(diào)用功能
2. 用于集合框架
Java 集合框架(如ArrayList、HashMap等)只能存儲(chǔ)對(duì)象。當(dāng)需要將基本數(shù)據(jù)類型存儲(chǔ)到集合中時(shí),就需要使用對(duì)應(yīng)的包裝類。
比如:
import java.util.ArrayList;
import java.util.List;
public class WrapperExample {
public static void main(String[] args) {
List<Integer> integerList = new ArrayList<>();
integerList.add(5); // 自動(dòng)裝箱,實(shí)際是integerList.add(Integer.valueOf(5));
integerList.add(10);
System.out.println(integerList);
}
}關(guān)鍵點(diǎn)解釋
List<Integer>:
- 這里聲明了一個(gè)只能存儲(chǔ)
Integer對(duì)象的列表,不能直接存儲(chǔ)基本類型int
自動(dòng)裝箱(Autoboxing):
integerList.add(5)看起來像是在添加基本類型int,但實(shí)際上Java會(huì)自動(dòng)將其轉(zhuǎn)換為Integer對(duì)象- 這行代碼等價(jià)于:
integerList.add(Integer.valueOf(5)) - 這是Java 5引入的特性,稱為自動(dòng)裝箱
自動(dòng)拆箱(Unboxing):
- 雖然代碼中沒有展示,但反過來從
Integer到int的自動(dòng)轉(zhuǎn)換稱為自動(dòng)拆箱 - 例如:
int num = integerList.get(0)會(huì)自動(dòng)將Integer轉(zhuǎn)換為int
執(zhí)行過程
創(chuàng)建一個(gè)空的ArrayList,用于存儲(chǔ)Integer對(duì)象
添加數(shù)字5時(shí):
- Java自動(dòng)調(diào)用
Integer.valueOf(5)將基本類型5轉(zhuǎn)換為Integer對(duì)象 - 然后將這個(gè)
Integer對(duì)象添加到列表中
同樣地處理數(shù)字10
最后打印列表內(nèi)容,輸出將是[5, 10]
注意事項(xiàng)
- 自動(dòng)裝箱/拆箱是編譯器提供的語法糖,實(shí)際運(yùn)行時(shí)還是會(huì)有對(duì)象創(chuàng)建的開銷
- 在性能敏感的場(chǎng)合,大量使用自動(dòng)裝箱可能會(huì)影響性能
Integer是對(duì)象,可以為null,而int不能為null
3. 提供了一系列實(shí)用的方法
每個(gè)包裝類都提供了一些靜態(tài)方法和實(shí)例方法,用于數(shù)據(jù)類型轉(zhuǎn)換、常量獲取、數(shù)值計(jì)算等操作。
- 數(shù)據(jù)類型轉(zhuǎn)換:
Integer類的parseInt方法可以將字符串轉(zhuǎn)換為整數(shù),Double類的parseDouble方法可以將字符串轉(zhuǎn)換為雙精度浮點(diǎn)數(shù)等。
例如:
String str = "123"; int num = Integer.parseInt(str); System.out.println(num);
- 獲取常量:
Byte、Short、Integer、Long等包裝類提供了MIN_VALUE和MAX_VALUE等常量,表示該數(shù)據(jù)類型的取值范圍。
比如:
System.out.println("int類型的最小值:" + Integer.MIN_VALUE);
System.out.println("int類型的最大值:" + Integer.MAX_VALUE); 4. 實(shí)現(xiàn)自動(dòng)裝箱和拆箱
- 自動(dòng)裝箱是指將基本數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換為對(duì)應(yīng)的包裝類對(duì)象,
- 自動(dòng)拆箱則是將包裝類對(duì)象自動(dòng)轉(zhuǎn)換為對(duì)應(yīng)的基本數(shù)據(jù)類型。
Java 5 引入了自動(dòng)裝箱和拆箱機(jī)制,讓代碼更加簡潔。
例如:
// 自動(dòng)裝箱 Integer integer = 10; // 自動(dòng)拆箱 int basicInt = integer;
在進(jìn)行一些運(yùn)算操作時(shí),也會(huì)自動(dòng)進(jìn)行裝箱和拆箱,如:
Integer num1 = 5; Integer num2 = 3; int sum = num1 + num2; // num1和num2自動(dòng)拆箱,進(jìn)行加法運(yùn)算后結(jié)果再賦值給基本數(shù)據(jù)類型變量
三、總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Java實(shí)現(xiàn)基本數(shù)據(jù)類型與byte數(shù)組相互轉(zhuǎn)換
- java數(shù)據(jù)類型轉(zhuǎn)換之自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換詳解
- Java實(shí)現(xiàn)字符串與基本數(shù)據(jù)類型轉(zhuǎn)換的全面指南
- Java?八種基本數(shù)據(jù)類型最新整理
- Java?中的整型數(shù)據(jù)類型((byte,?short,?int,?long?)的取值范圍及使用不同的整型的場(chǎng)景分析
- Java查看變量的數(shù)據(jù)類型的三種方法
- java datetime數(shù)據(jù)類型去掉時(shí)分秒的案例詳解
相關(guān)文章
SpringBoot集成Dubbo啟用gRPC協(xié)議
這篇文章主要介紹了SpringBoot集成Dubbo啟用gRPC協(xié)議,以及與原生 gRPC 在代碼編寫過程中的區(qū)別。感興趣的同學(xué)可以參考閱讀2023-04-04
SSH框架網(wǎng)上商城項(xiàng)目第10戰(zhàn)之搭建商品類基本模塊
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第10戰(zhàn)之搭建商品類基本模塊的相關(guān)資料,有一定的實(shí)用性,感興趣的小伙伴們可以參考一下2016-06-06
Java使用自定義注解+反射實(shí)現(xiàn)字典轉(zhuǎn)換代碼實(shí)例
這篇文章主要介紹了Java使用自定義注解+反射實(shí)現(xiàn)字典轉(zhuǎn)換代碼實(shí)例,注解是一種能被添加到j(luò)ava代碼中的元數(shù)據(jù),類、方法、變量、參數(shù)和包都可以用注解來修飾,注解對(duì)于它所修飾的代碼并沒有直接的影響,需要的朋友可以參考下2023-09-09
Springboot繼承Keycloak實(shí)現(xiàn)單點(diǎn)登錄與退出功能
這篇文章主要介紹了Springboot繼承Keycloak實(shí)現(xiàn)單點(diǎn)登陸與退出,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
Spring實(shí)現(xiàn)Quartz自動(dòng)配置的方法詳解
這篇文章主要介紹了Spring實(shí)現(xiàn)Quartz自動(dòng)配置的方法詳解,如果想在應(yīng)用中使用Quartz任務(wù)調(diào)度功能,可以通過Spring Boot實(shí)現(xiàn)Quartz的自動(dòng)配置,以下介紹如何開啟Quartz自動(dòng)配置,以及Quartz自動(dòng)配置的實(shí)現(xiàn)過程,需要的朋友可以參考下2023-11-11
詳解json在SpringBoot中的格式轉(zhuǎn)換
這篇文章主要介紹了詳解json在SpringBoot中的格式轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

