基本數據類型包含八種,
1.用途不同,在目前編程而言,基本除了使用局部變量會使用基本數據類型外,都會去使用包裝類。包裝類能夠適用泛型是目前企業編程使用包裝類的主要原因,而基本類型不行。除此之外,包裝類中還有較多的調用方法。
2.內存占用不同,包裝類的占用會大一些。
3.存儲方式不同,基本數據類型作為局部變量會被存放在棧中,如果作為引用類型會被存放在堆中。包裝類只會被存儲在堆中。
4.比較方式不同,對于基本數據類型來說,= =比較的是值。對于包裝數據類型來說,= =
?比較的是對象的內存地址。所有整型包裝類對象之間值的比較,全部使用?equals()
?方法。特殊的比如Integer,如果Integer的范圍在-128,127之間也可以使用==比較。
對于這個內容終于弄清了:無論是基本數據類型還是包裝類還是其他引用類型,首先都是從jvm中的棧去取值,而基本數據類型拿到的是數值,而引用類型和封裝類(封裝類就是引用類型)拿到的是地址,地址對應在堆中。
==用于比較地址,equals也是用于比較地址,只不過對于封裝類會進行重寫而已。
5.默認值不同:封裝類默認為null,而基本數據類型有非null默認值