java 基本數據類型所對應的包裝類

一,對應列舉

Java 中有 8 種基本數據類型,每種基本數據類型都有對應的包裝類,它們分別是:

二,包裝類的作用

1. 滿足面向對象編程需求

Java 是面向對象的編程語言,基本數據類型不是對象無法使用面向對象的特性(如方法調用、繼承、多態等)。而包裝類是對象,可以像操作其他對象一樣操作它們。例如:

Integer num = 10;
// 可以調用包裝類提供的方法,獲取數字的二進制表示形式
String binaryString = num.toBinaryString(num); 
System.out.println(binaryString); 

?在上述代碼中,運用了int的包裝類的方法調用功能

2. 用于集合框架

Java 集合框架(如ArrayListHashMap等)只能存儲對象。當需要將基本數據類型存儲到集合中時,就需要使用對應的包裝類。比如:

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); // 自動裝箱,實際是integerList.add(Integer.valueOf(5));integerList.add(10);System.out.println(integerList);}
}

關鍵點解釋:

  1. List<Integer>

    • 這里聲明了一個只能存儲Integer對象的列表,不能直接存儲基本類型int

  2. 自動裝箱(Autoboxing)

    • integerList.add(5)看起來像是在添加基本類型int,但實際上Java會自動將其轉換為Integer對象

    • 這行代碼等價于:integerList.add(Integer.valueOf(5))

    • 這是Java 5引入的特性,稱為自動裝箱

  3. 自動拆箱(Unboxing)

    • 雖然代碼中沒有展示,但反過來從Integerint的自動轉換稱為自動拆箱

    • 例如:int num = integerList.get(0)會自動將Integer轉換為int

執行過程

  1. 創建一個空的ArrayList,用于存儲Integer對象

  2. 添加數字5時:

    • Java自動調用Integer.valueOf(5)將基本類型5轉換為Integer對象

    • 然后將這個Integer對象添加到列表中

  3. 同樣地處理數字10

  4. 最后打印列表內容,輸出將是[5, 10]

注意事項

  1. 自動裝箱/拆箱是編譯器提供的語法糖,實際運行時還是會有對象創建的開銷

  2. 在性能敏感的場合,大量使用自動裝箱可能會影響性能

  3. Integer是對象,可以為null,而int不能為null

3. 提供了一系列實用的方法

每個包裝類都提供了一些靜態方法和實例方法,用于數據類型轉換、常量獲取、數值計算等操作。

  • 數據類型轉換Integer類的parseInt方法可以將字符串轉換為整數Double類的parseDouble方法可以將字符串轉換為雙精度浮點數等。例如:
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num); 
  • 獲取常量ByteShortIntegerLong等包裝類提供了MIN_VALUEMAX_VALUE等常量,表示該數據類型的取值范圍。比如:
System.out.println("int類型的最小值:" + Integer.MIN_VALUE); 
System.out.println("int類型的最大值:" + Integer.MAX_VALUE); 

4. 實現自動裝箱和拆箱

自動裝箱是指將基本數據類型自動轉換為對應的包裝類對象

自動拆箱則是將包裝類對象自動轉換為對應的基本數據類型

Java 5 引入了自動裝箱和拆箱機制,讓代碼更加簡潔。例如:

// 自動裝箱
Integer integer = 10; 
// 自動拆箱
int basicInt = integer; 

在進行一些運算操作時,也會自動進行裝箱和拆箱,如:

Integer num1 = 5;
Integer num2 = 3;
int sum = num1 + num2; // num1和num2自動拆箱,進行加法運算后結果再賦值給基本數據類型變量

三,總結:

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/914303.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/914303.shtml
英文地址,請注明出處:http://en.pswp.cn/news/914303.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

牛客網50題-10

1.小苯的數字權值#include <iostream> #include <algorithm> using namespace std;const int max_n 2000000; int d[max_n 1]; int f[max_n 1];int main() {for(int i 1; i<max_n;i){for(int j i; j<max_n;ji){d[j];}}for(int i1; i<max_n;i){f[i] d…

基于springboot的大學公文收發管理系統

博主介紹&#xff1a;java高級開發&#xff0c;從事互聯網行業多年&#xff0c;熟悉各種主流語言&#xff0c;精通java、python、php、爬蟲、web開發&#xff0c;已經做了多年的畢業設計程序開發&#xff0c;開發過上千套畢業設計程序&#xff0c;沒有什么華麗的語言&#xff0…

【機器學習】反向傳播如何求梯度(公式推導)

寫在前面 前期學習深度學習的時候&#xff0c;很多概念都是一筆帶過&#xff0c;只是覺得它在一定程度上解釋得通就行&#xff0c;但是在強化學習的過程中突然意識到&#xff0c;反向傳播求梯度其實并不是一件簡單的事情&#xff0c;這篇博客的目的就是要講清楚反向傳播是如何對…

ALB、NLB、CLB 負載均衡深度剖析

ALB、NLB、CLB 負載均衡深度剖析 前言 筆者在上周的實際工作中遇到了一個典型的負載均衡選擇問題&#xff1a;在使用代理調用相關模型時&#xff0c;最初配置 Nginx 的代理地址為 ALB 的 7 層虛擬 IP&#xff08;VIP&#xff09;&#xff0c;但由于集團網絡默認的超時時間為 3 …

歷史數據分析——云南白藥

醫藥板塊走勢分析: 從月線級別來看 2008年11月到2021年2月,月線上走出了兩個震蕩中樞的月線級別2085-20349的上漲段; 2021年2月到2024年9月,月線上走出了20349-6702的下跌段; 目前月線級別放巨量,總體還在震蕩區間內,后續還有震蕩和上漲的概率。 從周線級別來看 從…

【讀書筆記】《Effective Modern C++》第3章 Moving to Modern C++

《Effective Modern C》第3章 Moving to Modern C 一、區分圓括號 () 與大括號 {} &#xff08;Item?7&#xff09; C11 引入統一初始化&#xff08;brace?initialization&#xff09;&#xff0c;即使用 {} 來初始化對象&#xff0c;與傳統的 () 存在細微差別&#xff1a;避…

Rust基礎-part1

Rust基礎[part1]—安裝和編譯 安裝 ? rust curl --proto https --tlsv1.2 https://sh.rustup.rs -sSf | sh安裝成功 [外鏈圖片轉存中…(img-ClSHJ4Op-1752058241580)] 驗證 ? rust rustc --version zsh: command not found: rustc因為我是用的是zsh&#xff0c;所以zsh配置…

PyQt5布局管理(QGridLayout(網格布局))

QGridLayout&#xff08;網格布局&#xff09; QGridLayout&#xff08;網格布局&#xff09;是將窗口分隔成行和列的網格來進行排列。通常可以使用函數addWidget()將被管理的控件&#xff08;Widget)添加到窗口中&#xff0c;或者使用addLayout() 函數將布局&#xff08;Layou…

Java設計模式之行為型模式(責任鏈模式)介紹與說明

一、核心概念與定義 責任鏈模式是一種行為型設計模式&#xff0c;其核心思想是將請求沿著處理對象鏈傳遞&#xff0c;直到某個對象能夠處理該請求為止。通過這種方式&#xff0c;解耦了請求的發送者與接收者&#xff0c;使多個對象有機會處理同一請求。 關鍵特點&#xff1a; 動…

SQL server之版本的初認知

SQL server之版本的初認知 為什么要編寫此篇文檔呢&#xff0c;主要是因為在最近測試OGG實時同步SQL server數據庫表數據的時候&#xff0c;經過多次測試&#xff0c;發現在安裝了一套SQL server2017初始版本&#xff0c;未安裝任何補丁的時候&#xff0c;在添加TRANDATA的時候…

【前端】jQuery動態加載CSS方法總結

在jQuery 中動態加載 CSS 文件有多種方法&#xff0c;以下是幾種常用實現方式&#xff1a; 方法 1&#xff1a;創建 <link> 標簽&#xff08;推薦&#xff09; // 動態加載外部 CSS 文件 function loadCSS(url) {$(<link>, {rel: stylesheet,type: text/css,href:…

Python爬蟲實戰:研究xlwings庫相關技術

1. 引言 在金融科技快速發展的背景下,數據驅動決策已成為投資領域的核心競爭力。金融市場數據具有海量、多源、實時性強等特點,傳統人工收集與分析方式難以滿足高效決策需求。Python 憑借其豐富的開源庫生態,成為金融數據分析的首選語言。結合 Requests、BeautifulSoup 等爬…

Linux 內核日志中常見錯誤

目錄 **1. `Oops`****含義****典型日志****可能原因****處理建議****2. `panic`****含義****典型日志****可能原因****處理建議****3. `BUG`****含義****典型日志****可能原因****處理建議****4. `kernel NULL pointer`****含義****典型日志****可能原因****處理建議****5. `WA…

Linux驅動開發2:字符設備驅動

Linux驅動開發2&#xff1a;字符設備驅動 字符設備驅動開發流程 字符設備是 Linux 驅動中最基本的一類設備驅動&#xff0c;字符設備就是一個一個字節&#xff0c;按照字節流進行讀寫操作的設備&#xff0c;讀寫數據是分先后順序的。比如最常見的點燈、按鍵、 IIC、 SPI&#x…

RuoYi-Cloud 驗證碼處理流程

以該處理流程去拓展其他功能模塊處理流程&#xff0c;進而熟悉項目開發代碼一、思路JavaWeb流程主干線&#xff1a;發起請求、處理請求、響應請求二、登錄頁面在登錄頁面按鍵F12打開開發者工具&#xff0c;點擊network&#xff0c;刷新頁面&#xff0c;點擊code&#xff0c;查看…

云計算三大服務模式深度解析:IaaS、PaaS、SaaS

架構本質&#xff1a;云計算服務模式定義了資源抽象層級和責任分擔邊界&#xff0c;形成從基礎設施到應用的全棧服務金字塔。三種模式共同構成云計算的服務交付模型核心框架。一、服務模式全景圖 #mermaid-svg-f0Klw2fbuhBQqJTh {font-family:"trebuchet ms",verdana…

【sql學習之拉鏈表】

1.拉鏈表理解 記錄歷史。記錄一個事物從開始&#xff0c;一直到當前狀態的所有變化的信息。字段說明&#xff1a; start_dt&#xff1a;該條記錄的生命周期開始時間 end_dt&#xff1a;該條記錄的生命周期結束時間 end_dt’9999/12/31’表示該條記錄目前處于有效狀態 如果查詢當…

STM32中實現shell控制臺(shell窗口輸入實現)

文章目錄 一、總體結構二、串口接收機制三、命令輸入與處理邏輯四、命令編輯與顯示五、歷史命令管理六、命令執行七、初始化與使用八、小結在嵌入式系統開發中,使用串口Shell控制臺是一種非常常見且高效的調試方式。本文將基于STM32平臺,分析一個簡潔但功能完整的Shell控制臺…

區分三種IO模型和select/poll/epoll

部分內容來源&#xff1a;JavaGuide select/poll/epoll 和 三種IO模型之間的關系是什么&#xff1f;區分普通IO和IO多路復用普通IO&#xff0c;即一個線程對應一個連接&#xff0c;因為每個線程只處理一個客戶端 socket&#xff0c;目標明確&#xff1a;線程中直接操作該 socke…

Actor-Critic重要性采樣原理

目錄 AC的數據低效性&#xff1a; 根本原因&#xff1a;策略更新導致數據失效 應用場景&#xff1a; 1. 離策略值函數估計 2. 離策略策略優化 3. 經驗回放&#xff08;Experience Replay&#xff09; 4. 策略梯度方法 具體場景分析 場景1&#xff1a;連續策略更新 場…