簡體   English   中英

Java裝箱或拆箱

[英]Java boxing or unboxing

我找到了一個示例,在下面的Java代碼中找不到裝箱和拆箱的數量:

Integer x = 5;
int y = x + x;

我會說這是一種拆箱( int y = x + x ),但是我不確定。 還有拳擊嗎?

Integer x = 5有一個拳擊。 int 5裝箱為Integer

int y = x + x有兩個取消裝箱操作:將Integer x取消裝箱兩次。

只有拳擊

Integer x = 5

從文檔中:

如果p是int類型的值,則裝箱轉換將p轉換為類和Integer類型的引用r,這樣r.intValue()== p

為什么? 因為我們僅引用一次,所以在其中有兩個拆箱:

int y = x + x

從文檔

如果r是Integer類型的引用,則取消裝箱轉換會將r轉換為r.intValue()

為什么? 因為我們兩次調用x.IntValue()

遵循裝箱和拆箱中的此文檔

在Java示例中將值從原始值更改為包裝器類值

Integer a = 10;
int b = a;

https://youtu.be/96pq0mpFz9M

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM