# 包裝類
[TOC]
## 什么是包裝類
在Java中,基本數據類型本身不是對象,但是為了面向對象設計語言的規范使用,Java對8大基本數據類型進行了包裝,提高了相應的構造器、方法以供使用。
| 基礎類型 | 包裝類型 |
| --- | --- |
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
>[info] 在JDK1.5后,提供了自動裝箱和自動拆箱功能,幫助從基本數據類型到引用數據類型的數據轉換。
包裝類中一般會提供兩種構造器用于構建對象
* 使用基本數據類型的參數;
* 使用字符串類型的參數:對于此類參數,在實際創建對象的時候要注意輸入的值要滿足條件;
## 基本數據類型與引用數據類型的轉換
**從基本數據類型轉成引用數據類型的方法:**
* 從構造器創建
* 自動裝箱創建
**從引用數據類型轉成基本數據類型,使用 對象.xxxxValue();**
~~~java
int y = 10;
Integer yi = new Integer(y);
Integer yi2 = y;
int y3 = yi.intValue();
boolean b = false;
Boolean bi = new Boolean(b);
Boolean bi2 = b;
boolean bi3 = bi2.booleanValue();
~~~
## 為什么要使用包裝類
在實際開發中,一般對于一個實體對象的類成員屬性的定義,我們一般使用的是基本數據類型的包裝類。
在使用基本數據類型的時候,對于類的成員變量都會有默認值,但是這個默認值其實在很多的時候是有意義的,而不能隨便的設置值。
如果使用包裝類,則不會有初始化值,定義的為null。