資料型別及拆箱裝箱
八個基本資料型別
自動向上轉型
- byte,short,char < int < long < float < doouble
- 當char、byte、short型別之間的任意兩者的資料在運算時,會直接轉化成int型
- =-*/四則運算時會自動向上(最大)轉型
Java基礎資料型別與其對應的包裝類
原始型別 | 包裝型別 |
---|---|
byte | Byte |
short | Short |
int | Integer |
boolean | Boolean |
float | Float |
double | Double |
long | Long |
char | Character |
自動裝箱
public static Integer valueOf(int i) {
if (i >= -128 && i <= 127)
//則返回一個緩衝區中的一個Integer物件
return IntegerCache.cache[i + 127];
//否則返回 new 一個Integer 物件
return new Integer(i);
}
自動拆箱
裝箱和拆箱時機
- 進行 = 賦值操作(裝箱或拆箱)
- 進行+,-,*,/混合運算 (拆箱)
- 進行>,<,==比較運算(拆箱)
- 呼叫equals進行比較(裝箱)
- ArrayList,HashMap等集合類 新增基礎型別資料時(裝箱)
equals方法並不會進行型別轉換
相關文章
- java裝箱拆箱Java
- C#之拆箱,裝箱C#
- .NET中的六個重要概念:棧、堆、值型別、引用型別、裝箱和拆箱型別
- 【轉】.NET中的六個重要概念:棧、堆、值型別、引用型別、裝箱和拆箱型別
- Java自動拆箱與裝箱Java
- c#的裝箱和拆箱C#
- Java的自動裝箱和拆箱Java
- 談談JavaScript中裝箱和拆箱JavaScript
- Visual C#裝箱與拆箱C#
- 【JS迷你書】基本型別之拆箱操作JS型別
- 深入淺出瞭解“裝箱與拆箱”
- 深入理解Java之裝箱與拆箱Java
- Java 效能筆記:自動裝箱/拆箱Java筆記
- Java中的自動裝箱與拆箱Java
- 深入剖析Java中的裝箱和拆箱Java
- Java自動裝箱/拆箱 - Java那些事兒Java
- 深入理解C#的裝箱和拆箱C#
- [JAVA] Java物件導向之包裝類,拆箱、裝箱Java物件
- Java中的自動裝箱與自動拆箱Java
- dotnet學習筆記一 - 裝箱拆箱 (轉)筆記
- Effective C#:儘量減少裝箱和拆箱C#
- java空指標出現的情況:拆箱裝箱Java指標
- 如何理解Java中的自動拆箱和自動裝箱?Java
- 通過原始碼瞭解Java的自動裝箱拆箱原始碼Java
- 【java】JDK5的新特性→→自動裝箱和拆箱JavaJDK
- Java語法糖2:自動裝箱和自動拆箱Java
- .NET Core CSharp 中級篇 2-1 裝箱與拆箱CSharp
- 基礎鞏固、探尋Java裝箱和拆箱的奧妙!Java
- JS 基礎型別之裝箱操作JS型別
- 夯實Java基礎系列2:Java基本資料型別,以及自動拆裝箱裡隱藏的秘密Java資料型別
- Java 效能要點:自動裝箱/ 拆箱 (Autoboxing / Unboxing)Java
- Java學習之自動裝箱和自動拆箱原始碼分析Java原始碼
- Integer 自動拆箱封箱
- 夯實Java基礎系列2:Java基本資料型別,以及自動拆裝箱裡隱藏的祕密Java資料型別
- java中的內部類和自動拆裝箱Java
- c#之裝箱和取消裝箱C#
- java基礎(八) 深入解析常量池與裝拆箱機制Java
- Java基本型別自動裝箱的效能成本 -Coffee TalkJava型別