最近去Java面試,面試官有問我這個問題,boxing和unboxing知道,但是API的概念很模糊,更不知boxing和unboxing使用的API是什麼,希望有大神能幫我解答
认证高级PHP讲师
這篇部落格寫得比較清楚:Java自動裝箱與拆箱及其陷阱
先看這樣一段程式碼
Integer a = 1; int b = 2; int c = a + b; Integer d = a + b;
這是調試結果
在java中,只有同類型直接才能直接做計算,但是這裡沒有進行任何的轉型,第三行Integer和int做計算的時候會自動先unboxing 為int類型在做計算,第四行先轉化為int計算得出結果之後,在自動包裝成Integer
拿integer來說, Integer.intValue() 和 Integer.valueOf(int x)
這篇部落格寫得比較清楚:Java自動裝箱與拆箱及其陷阱
先看這樣一段程式碼
這是調試結果
在java中,只有同類型直接才能直接做計算,但是這裡沒有進行任何的轉型,第三行Integer和int做計算的時候會自動先unboxing 為int類型在做計算,第四行先轉化為int計算得出結果之後,在自動包裝成Integer
拿integer來說, Integer.intValue() 和 Integer.valueOf(int x)