說明:最簡單的理解,基本類型有默認值,而包裝類型初始為null。然后再根據這兩個特性進行分業務使用,在阿里巴巴的規范里所有的POJO類必須使用包裝類型,而在本地變量推薦使用基本類型。
Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。
1、整數:包括int、short、byte、long初始值為0。
2、浮點型:float、double初始值為0.0
3、字符:char初始值為空格,即'' ",如果輸出,在Console上是看不到效果的。
4、布爾:boolean初始值為false
基本型別 | 大小 | 最小值 | 最大值 |
boolean | ----- | ----- | ------ |
char | 16-bit | Unicode 0 | Unicode 2^16-1 |
byte | 8-bit | -128 | +127 |
short | 16-bit | -2^15 | +2^15-1 |
int | 32-bit | -2^31 | +2^31-1 |
long | 64-bit | -2^63 | +2^63-1 |
float | 32-bit | IEEE754 | IEEE754 |
double | 64-bit | IEEE754 | IEEE754 |
void |
注意:
表格里的^代表的是次方
Java采用unicode,2個字節來表示一個字符,1個字節等於16位。
基本類型的包裝類
Integer 、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger、BigDecmail
其中BigInteger、BigDecimal沒有相對應的基本類型,主要應用於高精度的運算,BigInteger 支持任意精度的整數,
BigDecimal支持任意精度帶小數點的運算。
基本類型與包裝類型的異同:
1、在Java中,一切皆對象,但八大基本類型卻不是對象。
2、聲明方式的不同,基本類型無需通過new關鍵字來創建,而封裝類型需new關鍵字。
3、存儲方式及位置的不同,基本類型是直接存儲變量的值保存在堆棧中能高效的存取,封裝類型需要通過引用指向實例,具體的實例保存在堆中。
4、初始值的不同,封裝類型的初始值為null,基本類型的的初始值視具體的類型而定,比如int類型的初始值為0,boolean類型為false;
5、使用方式的不同,比如與集合類合作使用時只能使用包裝類型。
6、什么時候該用包裝類,什么時候用基本類型,看基本的業務來定:這個字段允不允許null值,如果允許null值,則必然要用封裝類,否則值類型就可以了,用到比如泛型和反射調用函數.,就需要用包裝類!
參考:
http://blog.csdn.net/u010567151/article/details/47953909(以上內容轉自此篇文章)