八大基本数据类型对应的八大包装类(含对应面试题解析)
生活随笔
收集整理的這篇文章主要介紹了
八大基本数据类型对应的八大包装类(含对应面试题解析)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1.為什么我們需要包裝類?
- 2. 包裝類都有哪些呢?
- 3.裝箱與拆箱
- 4. 基本類型、包裝類與String之間的轉換
- 5.代碼測試
- 6.面試題
本文已同步到: https://www.bithachi.cn/posts/a852be86.html
1.為什么我們需要包裝類?
因為Java是面向對象編程的,那么我們想讓基本數據類型可以有對象的特征,調用一些方法,那么Java就提供了包裝類,實現基本數據類型轉換成包裝類,進而使得基本數據類型有了類的特點,可以調用類中的方法。
2. 包裝類都有哪些呢?
話不多說,直接上圖
3.裝箱與拆箱
在我們正式使用包裝類之前,我們先了解一下什么是裝箱與拆箱。
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.4566.面試題
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總結
以上是生活随笔為你收集整理的八大基本数据类型对应的八大包装类(含对应面试题解析)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 极客时间《玩转Git三剑客》之GItHu
- 下一篇: 《算法》练习题1.1.1--1.1.39