1. ==和equals的區別 答: 基礎數據類型比較:只能使用==,比較值是否相等 引用數據類型比較: 沒有重寫equals方法:==和equals沒有區別,比較的都是引用是否指向了同一塊記憶體 重寫了equals方法:equals比較的是引用的對象內容是否相等(在javaBean規定中當重寫equ ...
1. ==和equals的區別
答:
- 基礎數據類型比較:只能使用==,比較值是否相等
- 引用數據類型比較:
- 沒有重寫equals方法:==和equals沒有區別,比較的都是引用是否指向了同一塊記憶體
- 重寫了equals方法:equals比較的是引用的對象內容是否相等(在javaBean規定中當重寫equals時必須重寫hashCode,兩個對象的equals相等,hashCode也必須相等,如果不相等就會造成相同的對象在HashSet存儲中存儲兩次)
2. 堆與棧的區別
答:1. 棧記憶體存儲的是局部變數,而堆記憶體存儲的是實體
2. 棧記憶體的更新速度要快於堆記憶體,因為局部變數的生命周期很短
3. 棧記憶體存放的變數生命周期一旦結束就會被釋放,而堆記憶體存放的實體會被垃圾回收機制不定時回收