日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java包装类、拆箱和装箱详解

發布時間:2025/3/15 java 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java包装类、拆箱和装箱详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

雖然 Java 語言是典型的面向對象編程語言,但其中的八種基本數據類型并不支持面向對象編程,基本類型的數據不具備“對象”的特性——不攜帶屬性、沒有方法可調用。 沿用它們只是為了迎合人類根深蒂固的習慣,并的確能簡單、有效地進行常規數據處理。

這種借助于非面向對象技術的做法有時也會帶來不便,比如引用類型數據均繼承了 Object 類的特性,要轉換為 String 類型(經常有這種需要)時只要簡單調用 Object 類中定義的toString()即可,而基本數據類型轉換為 String 類型則要麻煩得多。為解決此類問題 ,Java為每種基本數據類型分別設計了對應的類,稱之為包裝類(Wrapper Classes),也有教材稱為外覆類或數據類型類。

基本數據類型及對應的包裝類基本數據類型對應的包裝類
byteByte
shortShort
intInteger
longLong
charCharacter
floatFloat
doubleDouble
booleanBoolean

每個包裝類的對象可以封裝一個相應的基本類型的數據,并提供了其它一些有用的方法。包裝類對象一經創建,其內容(所封裝的基本類型數據值)不可改變。

基本類型和對應的包裝類可以相互裝換:

  • 由基本類型向對應的包裝類轉換稱為裝箱,例如把 int 包裝成 Integer 類的對象;
  • 包裝類向對應的基本類型轉換稱為拆箱,例如把 Integer 類的對象重新簡化為 int。

包裝類的應用

八個包裝類的使用比較相似,下面是常見的應用場景。

1) 實現 int 和 Integer 的相互轉換

可以通過 Integer 類的構造方法將 int 裝箱,通過 Integer 類的 intValue 方法將 Integer 拆箱。例如:

  • public?class?Demo?{
  • public?static?void?main(String[]?args)?{
  • int?m?=?500;
  • Integer?obj?=?new?Integer(m);?// 手動裝箱
  • int?n?=?obj.intValue();?// 手動拆箱
  • System.out.println(“n = “?+?n);
  • ?
  • Integer?obj1?=?new?Integer(500);
  • System.out.println(“obj 等價于 obj1?”?+?obj.equals(obj1));
  • }
  • }
  • 運行結果:
    n = 500
    obj 等價于 obj1?true

    2) 將字符串轉換為整數

    Integer 類有一個靜態的 paseInt() 方法,可以將字符串轉換為整數,語法為:

  • parseInt(String?s,?int?radix);
  • s 為要轉換的字符串,radix 為進制,可選,默認為十進制。

    下面的代碼將會告訴你什么樣的字符串可以轉換為整數:

  • public?class?Demo?{
  • public?static?void?main(String[]?args)?{
  • String?str[]?=?{“123”,?“123abc”,?“abc123”,?“abcxyz”};
  • ?
  • for(String?str1?:?str){
  • try{
  • int?m?=?Integer.parseInt(str1,?10);
  • System.out.println(str1?+?” 可以轉換為整數 “?+?m);
  • }catch(Exception?e){
  • System.out.println(str1?+?” 無法轉換為整數”);
  • }
  • }
  • }
  • }
  • 運行結果:
    123 可以轉換為整數 123
    123abc 無法轉換為整數
    abc123 無法轉換為整數
    abcxyz 無法轉換為整數

    3) 將整數轉換為字符串

    Integer 類有一個靜態的 toString() 方法,可以將整數轉換為字符串。例如:

  • public?class?Demo?{
  • public?static?void?main(String[]?args)?{
  • int?m?=?500;
  • String?s?=?Integer.toString(m);
  • System.out.println(“s = “?+?s);
  • }
  • }
  • 運行結果:
    s = 500

    自動拆箱和裝箱

    上面的例子都需要手動實例化一個包裝類,稱為手動拆箱裝箱。Java 1.5(5.0) 之前必須手動拆箱裝箱。

    Java 1.5 之后可以自動拆箱裝箱,也就是在進行基本數據類型和對應的包裝類轉換時,系統將自動進行,這將大大方便程序員的代碼書寫。例如:

  • public?class?Demo?{
  • public?static?void?main(String[]?args)?{
  • int?m?=?500;
  • Integer?obj?=?m;?// 自動裝箱
  • int?n?=?obj;?// 自動拆箱
  • System.out.println(“n = “?+?n);
  • ?
  • Integer?obj1?=?500;
  • System.out.println(“obj 等價于 obj1?”?+?obj.equals(obj1));
  • }
  • }
  • 運行結果:
    n = 500
    obj 等價于 obj1?true

    自動拆箱裝箱是常用的一個功能,讀者需要重點掌握。

    四. Java繼承和多態
    1.?繼承的概念與實現
    2.?Java super關鍵字
    3.?繼承中的方法的覆蓋和重載
    4.?多態和動態綁定
    5.?instanceof 運算符
    6.?多態對象的類型轉換
    7.?Java static關鍵字
    8.?Java final關鍵字

    9.?Java Object類

    總結

    以上是生活随笔為你收集整理的Java包装类、拆箱和装箱详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。