Java 提供兩種不同的型別:引用型別和原始型別(或內建型別)。另外,Java 還為每個原始型別提供了封裝類(Wrapper)。
原始型別 封裝類
=================
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
int i = 5; // 原始型別
Integer j = new Integer(10); // 物件引用
//java 1.5以後支援自動裝箱所以
Integer j = 10; 也可以
使用原始型別無須呼叫 new,也無須建立物件。這節省了時間和空間。混合使用原始型別和物件也可能導致與賦值有關的意外結果。
原始型別是類
引用型別是物件
原始型別大小比較用"=="
引用型別大小比較用"equals"
引用型別可以被序列化,原始型別不行。
引用型別提供的方法可以靈活轉換,可以擴充套件,原始型別不行
在集合類中只能使用引用型別,不能使用原始型別
原始型別沒有null的概念,引用型別有,某些情況下需要辨別某個引數是否被初始化了,如果使用原始型別,那麼0的值不知道是初始值還是沒有初始化系統自動給的。
有些時候必須要用封裝類,比如你要用
request.setAttribute(String key ,Object value);這個方法時,第二個引數為Object型別 ,而你要放的是一個整數的時候,那就只能放Integer不能放int。
--摘自《無盡空虛的部落格http://blog.sina.com.cn/lonely2009 》