java 1.5 自動拆箱和裝箱的注意事項
阿新 • • 發佈:2018-11-25
背景
java1.5後引入了自動裝箱和自動拆箱的概念
自動拆箱:將引用型別轉化為基本資料型別
自動裝箱:將基本資料型別裝為引用型別
但是實際使用中,什麼情況自動拆箱什麼情況自動裝箱呢?
自動裝箱
Integer i = 100; (呼叫Integer.valueOf(100)) 這裡存在一個快取變數 -128~127 ,如果基本資料型別在此範圍內,則使用快取的物件,否則new Integer(number)
自動拆箱
//第一種情況 Integer i = 100; int x = i; (呼叫 i.initValue()) //第二種情況 Integer i = 100;int x = 100; System.out.println(i == 100)
自動填坑
---------1----------- Integer a = 100; Integer b = 100; a == b //結果是true ----------2---------- Integer a = 200; Integer b = 200; a == b //結果是false 包裝型別的比較,用equals() -----------3--------- Integer a = 200; int b = 200; a == b //結果是true -----------4--------- Integer a= 200; int b = 200; a.equals(b) //結果是true ------------5-------- Long a = 200; int b = 200; a.equals(b) //結果是false 如果型別不同一定為false