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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

八大基本数据类型对应的八大包装类(含对应面试题解析)

發布時間:2024/10/14 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 八大基本数据类型对应的八大包装类(含对应面试题解析) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1.為什么我們需要包裝類?
    • 2. 包裝類都有哪些呢?
    • 3.裝箱與拆箱
    • 4. 基本類型、包裝類與String之間的轉換
    • 5.代碼測試
    • 6.面試題

本文已同步到: https://www.bithachi.cn/posts/a852be86.html

1.為什么我們需要包裝類?

因為Java是面向對象編程的,那么我們想讓基本數據類型可以有對象的特征,調用一些方法,那么Java就提供了包裝類,實現基本數據類型轉換成包裝類,進而使得基本數據類型有了類的特點,可以調用類中的方法。

2. 包裝類都有哪些呢?

話不多說,直接上圖

3.裝箱與拆箱

在我們正式使用包裝類之前,我們先了解一下什么是裝箱與拆箱。

  • 裝箱:將基本數據類型包裝成對應的包裝類,比如 int->Integer
  • 拆箱:將包裝類拆解成對應的基本數據類型,比如 Character->char
  • 4. 基本類型、包裝類與String之間的轉換

    現在我們先看看基本類型、包裝類與String之間的轉換,然后依次代碼測試這些轉換

    5.代碼測試

    我們以上圖的序號依次測試這些轉換方式,1->2->3->4->5->6

    /*** @Program: JavaSE* @ClassName: TestMain* @Author: Mr.BitHachi* @CreateTime: 2020-07-31 20:12* @Version: V1.0* @Description: 測試基本數據類型、包裝類與String之間的轉換**/public class TestMain {public static void main(String[] args) {/************ 1:基本數據類型->包裝類 ************/System.out.println("------- 1 -------");int i1=100;Integer t1=new Integer(i1);//通過構造器Float f1=new Float("32.1F");//通過字符串參數Character ch1='A';//自動裝箱System.out.println(t1+","+f1+",ch1");/************ 2.包裝類->基本數據類型 ************/System.out.println("------- 2 ------");int i2=t1.intValue();//調用包裝類的方法char ch2=ch1;//自動拆箱System.out.println(i2+","+ch2);/************ 3.String類->基本數據類型 ************/System.out.println("------- 3 ----------");String s3="123";int i3=Integer.parseInt(s3);//調用相應的包裝類的parseXxx(String)靜態方法boolean b3=new Boolean("true");//通過包裝類的構造器System.out.println(i3+","+b3);/************ 4. 基本數據類型->String類 ************/System.out.println("------- 4 ----------");String s4=String.valueOf(3.4F);//String的valueOf(x);String d4=5.2D+3.4d+"";//String + 自動轉換System.out.println(s4+","+d4);/************ 5.String類->包裝類 ************/System.out.println("------- 5 ----------");String s5="142.35D";Double d5=new Double (s5);//通過字符串參數System.out.println(s5);/************ 6.包裝類->String類 ************/System.out.println("------- 6 ----------");Float f6=123.456f;String s6=f6.toString();//對應包裝類對象的toString()方法String sf=Float.toString(f6);//調用對應包裝類的toString(x)方法System.out.println(s6+","+sf);} }

    運行結果:

    ------- 1 ------- 100,32.1,ch1 ------- 2 ------ 100,A ------- 3 ---------- 123,true ------- 4 ---------- 3.4,8.6 ------- 5 ---------- 142.35D ------- 6 ---------- 123.456,123.456

    6.面試題

    public class FaceTest {public static void main(String[] args) {/************ 1 ************///比較情況下,編譯時將Integer統一編譯成Double,與位數多的單位保持一致Object o1 = true ? new Integer(1) : new Double(2.0);System.out.println(o1);//1.0/************ 2 ************///這里沒有比較,只有條件判斷Object o2;if (true)o2 = new Integer(1);elseo2 = new Double(2.0);System.out.println(o2);//1/************ 3 ************///Integer內部定義了IntegerCache類結構,IntegerCache中定義了 Integer[],//保存了從-128~127范圍的整數。如果我們使用自動裝箱的方式,給Integer賦值的范圍在//- 128~127范圍內時,可以直接使用數組中的元素,不用再去new了.目的:提高效率Integer i = new Integer(1);Integer j = new Integer(1);System.out.println(i == j);//falseInteger m = 1;Integer n = 1;System.out.println(m == n);//trueInteger x = 128;Integer y = 128;System.out.println(x == y);//false} }

    運行結果:

    1.0 1 false true false

    總結

    以上是生活随笔為你收集整理的八大基本数据类型对应的八大包装类(含对应面试题解析)的全部內容,希望文章能夠幫你解決所遇到的問題。

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