Java中的~基本類型包裝類

今天我們來一起聊聊基本類型的包裝類

我們在學習 Java 的時候有了解

Java有四類八種基本數據類型

這些基本數據類型都有對應的包裝類

基本類型的包裝類

基本類型包裝類的概述

將基本數據類型封裝成對象的好處在於可以在對象中定義更多的功能方法操作該數據。

常用的操作之一:用於基本數據類型與字符串之間的轉換。

基本數據類型與包裝類的對應關係

byte →Byte

short→Short

int→Integer

long →Long

float→Float

double→Double

char→Character

boolean→Boolean

Integer類的概述

Integer 類在對象中包裝了一個基本類型 int 的值,該類提供了多個方法,能在 int 類型和 String 類型之間互相轉換,還提供了處理 int 類型時非常有用的其他一些常量和方法(這八個類都差不多咱們就分享一個,剩下的自己去查API哈~~)

Integer構造方法

public Integer(int value)

構造一個新分配的 Integer 對象,它表示指定的 int 值。

public Integer(String s)

構造一個新分配的 Integer 對象,它表示 String 參數所指示的 int 值。

Java中的~基本類型包裝類

String和int類型的相互轉換

1)int -- String

a:和""進行拼接

b:public static String valueOf(int i)

Java中的~基本類型包裝類

不止這兩種

這是常用的兩種方式~~

2)String -- int

a:String -- Integer -- int

b:public static int parseInt(String s)

Java中的~基本類型包裝類

JDK5的新特性自動裝箱和拆箱

自動裝箱:

把基本類型轉換為包裝類類型

自動拆箱:

把包裝類類型轉換為基本類型

Java中的~基本類型包裝類

注意:在使用時,Integer x = null;代碼就會出現NullPointerException。

建議先判斷是否為null,然後再使用。

Integer的面試題

看看下面的代碼:

Integer i1 = 97;

Integer i2 = 97;

System.out.println(i1 == i2);

System.out.println(i1.equals(i2));

System.out.println("-----------");

Integer i3 = 197;

Integer i4 = 197;

System.out.println(i3 == i4);

System.out.println(i3.equals(i4));

你覺得答案是什麼~

我們來運行一下~

Java中的~基本類型包裝類

答案和你想的是一樣的嗎?

因為-128~127是byte的取值範圍,如果在這個取值範圍內,自動裝箱就不會創建新的對象,而是從常量池中獲取,超過了byte取值範圍就會再創建新對象~這個就是 i1==i2 的結果為 true 的原因了(感興趣的小夥伴可以去查看一下源碼呦~)

Java中的~基本類型包裝類

我是萌新娜娜

立志做一個不翻車的老司機

學習Java的路上請多多指教


分享到:


相關文章: