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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java装箱拆箱

發布時間:2023/12/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java装箱拆箱 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所謂的拆箱裝箱,其實就是一個簡單的語法糖。我們以Integer為?。

(一)裝箱

Integer i = 1;

本質上就是:

Integer i = Integer.valueOf(1);

(二)拆箱

int m = i;

本質上就是:

int m = i.intValue();

(三)小練習

public static void main(String[] args) {Integer a = 1;Integer b = 2;Integer c = 3;Integer d = 3;Integer e = 321;Integer f = 321;Long g = 3L;// 返回true:c和d都為-128~127期間的數值,// 處于這個期間的數值會被緩存起來,// 所以c和d指向的是同一個對象。System.out.println(c == d);// 返回false:e和f分別在堆中創建了不同的對象。System.out.println(e == f);// 返回true:在算數運算時包裝類型會自動拆箱,// 所以(a+b)相當于(a.intValue()+b.intValue()),// 同時()的存在并不會觸發裝箱,所以(a+b)的結果為基本類型,// 此時c也會被迫拆箱,所以3=3返回trueSystem.out.println(c == (a + b));// 返回true,這個不用解釋System.out.println(c.equals(a + b));// 返回true,這個和上面的道理基本一樣,// g也會被迫拆箱,而基本類型long和int可以直接比較數值,// 所以返回true。System.out.println(g == (a + b));// 返回false,這個主要是因為equals的內部邏輯,// 它會先判斷是不是Long類型,是的話才會拆箱比較,// 否者直接返回false。System.out.println(g.equals(a + b));}

?

總結

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

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