1. 程式人生 > >Java 基本資料型別和包裝類的區別

Java 基本資料型別和包裝類的區別

首先要明白棧記憶體和堆記憶體的區別,具體的值,比如int i = 5,這個值是放在棧記憶體中,Integer i = new Integer();這個i物件是放在堆記憶體中,而i(引用變數)是在棧記憶體中 。

以long為例

long是基本資料型別

當沒有給該變數賦值時,該變數初始化值為0;在做語句判斷的時候就不能用if(i==null){}做判斷了,而是要用if(i==0){}

Long是包裝類

當沒有給該物件賦值時候,該物件的初始化值為null,此時判斷就要用if(i==null){}

當需要往ArrayList,HashMap中放東西時,像int,double這種基本型別是放不進去的,因為容器都是裝object的,這是就需要這些基本型別的外覆類了
比如List<Integer> list = new ArrayList<Integer>();