JAVA隨筆記錄
一、基本資料型別
整數型:byte、short、int、long
浮點型:float、double
字元型:char
布林型:boolean
二、基本型別所佔位元組及位數
上面的預設值是指基本資料型別的引用型別的初始值。比如:int的引用型別是Integer,初始值為0.其他的類似。
裝箱和拆箱就是基本資料型別和引用資料型別之間的相互轉換。
三、==和equals的區別
1.當==作用於基本資料型別時,比較的基本資料型別的值;當作用於引用型別時,比較的是引用型別物件所在的地址。
2.equals不能作用於基本資料型別;當作用於引用型別時,若引用型別沒有重寫equals方法,那麼比較引用型別物件所在的地址;若引用型別重寫了equals方法,那麼比較的是物件所指向的內容。
四、類變數(靜態變數)和例項變數(成員變數)的區別
1.類變數在記憶體中只存一份,只進行一次的初始化,在載入類的過程中完成類變數的初始化分配;例項變數屬於例項物件的成員,每建立一個例項物件,都會為例項變數分配一次記憶體。
2.類變數儲存在方法區;例項變數儲存在堆中,它的引用儲存在當前執行緒棧。
3.類變數是由static修飾的;例項變數不需要static修飾。
4.類變數在載入類的時候就載入完;例項變數只有在例項化物件的時候才會載入。
五、ArrayList和LinkedList的異同
1.它們都是List介面的實現類(Vector也是List介面的實現類)。
2.ArrayList是基於陣列的資料結構;LinkedList是基於連結串列的資料結構。
3.當獲取元素時,ArrayList比LinkedList的速度快。因為ArrayList可直接通過下標來獲取,而LinkedList需要移動指標來獲取元素。
4.當增加元素和刪除元素時LinkedList的效率比ArrayList高,因為ArrayList對元素操作後要移動元素,而LinkedList只需要移動指標到指定位置即可。