【java】JDK5的新特性→→自動裝箱和拆箱
一、JDK5的新特性
- 自動裝箱:把基本型別轉換為包裝類型別
- 自動拆箱:把包裝類型別轉換為基本型別
二、案例演示
public class JDK5 {
public static void main(String[] args) {
// int x = 100;
// Integer i1 = new Integer(x); //將基本資料型別包裝成物件,裝箱
//
// int y = i1.intValue(); //將物件轉換為基本資料型別,拆箱
Integer i2 = 100; //自動裝箱,把基本資料型別轉換成物件,底層為上述手動裝箱
int z = i2 + 200; //自動拆箱,把物件轉換為基本資料型別,底層為上述手動拆箱
System.out.println(z);
Integer i3 = null;
int a = i3 + 100; //底層用i3呼叫intValue,但是i3是null,null呼叫方法就會出現
System.out.println(a); //空指標異常java.lang.NullPointerException
}
}
三、注意事項
- 在使用時,Integer x = null; 程式碼就會出現NullPointerException。
- 建議先判斷是否為null,然後再使用。
相關文章
- Java的自動裝箱和拆箱Java
- Java自動拆箱與裝箱Java
- 如何理解Java中的自動拆箱和自動裝箱?Java
- Java中的自動裝箱與自動拆箱Java
- Java中的自動裝箱與拆箱Java
- Java語法糖2:自動裝箱和自動拆箱Java
- Java 效能筆記:自動裝箱/拆箱Java筆記
- Java自動裝箱/拆箱 - Java那些事兒Java
- Java學習之自動裝箱和自動拆箱原始碼分析Java原始碼
- java裝箱拆箱Java
- java中的內部類和自動拆裝箱Java
- 通過原始碼瞭解Java的自動裝箱拆箱原始碼Java
- 深入剖析Java中的裝箱和拆箱Java
- c#的裝箱和拆箱C#
- Java 效能要點:自動裝箱/ 拆箱 (Autoboxing / Unboxing)Java
- Integer 自動拆箱封箱
- 談談JavaScript中裝箱和拆箱JavaScript
- 深入理解Java之裝箱與拆箱Java
- [JAVA] Java物件導向之包裝類,拆箱、裝箱Java物件
- 深入理解C#的裝箱和拆箱C#
- 基礎鞏固、探尋Java裝箱和拆箱的奧妙!Java
- C#之拆箱,裝箱C#
- Java 自動裝箱效能Java
- java空指標出現的情況:拆箱裝箱Java指標
- Effective C#:儘量減少裝箱和拆箱C#
- 一文讀懂什麼是Java中的自動拆裝箱Java
- 資料型別及拆箱裝箱資料型別
- Visual C#裝箱與拆箱C#
- 夯實Java基礎系列2:Java自動拆裝箱裡隱藏的秘密Java
- 深入淺出瞭解“裝箱與拆箱”
- dotnet學習筆記一 - 裝箱拆箱 (轉)筆記
- 記一次Java自動拆箱引發的空指標問題Java指標
- .NET中的六個重要概念:棧、堆、值型別、引用型別、裝箱和拆箱型別
- .NET Core CSharp 中級篇 2-1 裝箱與拆箱CSharp
- 夯實Java基礎系列2:Java基本資料型別,以及自動拆裝箱裡隱藏的秘密Java資料型別
- c#之裝箱和取消裝箱C#
- 【轉】.NET中的六個重要概念:棧、堆、值型別、引用型別、裝箱和拆箱型別
- Java無意識自動裝箱嚴重消耗效能Java