java學習筆記#3-異常/集合
異常:
所有異常的父類是Throwable類,它的兩個子類:Error,Exception
Error:
Error出現程式必然崩潰,常見Error如虛擬機器錯誤,執行緒死鎖。
Exception:
我們常說的異常就是指Exception。Exception出現表示程式編碼、環境或者輸入等出現問題。
Exception異常中比較主要的一個RuntimeException。
這類異常由虛擬機器自動丟擲與捕獲,絕大多數情況是程式碼有問題。
檢查異常需要人為新增Catch。
異常的丟擲:
throw:
將產生的異常丟擲(動作)。寫入函式體內部。
throws:
宣告將要丟擲任何型別的異常(宣告)。丟擲的異常不處理,直接給上一級。
一般而言:
在採用邏輯規避的同時輔助try-catch處理。
使用多重catch(子類在前,父類在後),並在最後catch(Expection)來處理可能遺漏的異常。
不要僅僅使用printStackTrace(),最好能夠詳細處理異常。
使用finally塊去實現業務邏輯回滾等方法來應對異常。
字串相關:
String
string類具有不可變性,每次修改都需要分配空間進行儲存。當string頻繁修改的時候會產生很多零時變數。所以最好使用StringBuilder類。
StringBuilder
對StirngBuilder進行修改的時候,系統不會去建立新物件。
getInstance() 與new();
兩者的區別主要在於類是否是抽象類。抽象類只能通過getInstance()來例項化。
集合:
集合與陣列對比:
陣列長度在宣告的時候進行固定,所以當有新的元素新增進陣列的時候,需要新建更長的陣列,然後移動原陣列中的內容。
集合的容量是可以動態擴充套件的。
陣列通過陣列下標進行元素訪問。找特定元素往往需要遍歷所有的內容。
集合可以通過任意型別查詢物件位置。集合還提供了對映關係,可以用於快速找到特定內容。
集合框架體系結構:
collection中元素都是獨立出現的。
map中元素成對出現。
list:元素有序且可重複,順序表。
queue:元素有序可重複,連結串列。
set:元素不可重複,數學集合。
當我們對集合中的物件呼叫contains()方法時,實際上是在呼叫equals(Object obj)方法進行比較。即使輸入的元素與相比較的元素屬性值全部相等,但是仍是兩個不通的物件。所以contains返回值為false,為了得到通過比較出相同屬性值而得到的true結果,就需要重寫equals方法。
sort()方法
Collections.sort(object obj)中,引數可以是自定義的class集合,但是因為自定的class預設是沒有繼承comparable介面的,所以不可比較。
需要繼承comparable介面並實現compareTo功能。
public class Course implements Comparable<Course>
...
...
public int compareTo(Course o) {
return this.getId().compareTo(o.getId());
}
相關文章
- java學習筆記(異常)Java筆記
- kotlin學習筆記-異常好玩的list集合總結Kotlin筆記
- Java 集合學習筆記Java筆記
- 【Java學習筆記】Collections集合Java筆記
- Java 筆記《異常》Java筆記
- Java中的Map集合學習筆記Java筆記
- swoft 學習筆記之異常處理筆記
- Golang 學習筆記八 錯誤異常Golang筆記
- java異常處理筆記Java筆記
- SpringMVC學習筆記10-異常處理SpringMVC筆記
- Java之常見異常 整理集合Java
- vue學習筆記3-事件處理Vue筆記事件
- Python 3 學習筆記之——錯誤和異常Python筆記
- Java--異常的學習Java
- java筆記3-註釋Java筆記
- 【Go】Go語言學習筆記-3-包Go筆記
- [Java學習筆記] Java異常機制(也許是全網最獨特視角)Java筆記
- Java學習筆記-Day21 Java System類、Class類、內部類、異常處理Java筆記
- Java集合學習記錄——IteratorJava
- JAVA集合:常見Set原始碼學習Java原始碼
- JAVA學習之異常處理Java
- 集合冪級數學習筆記筆記
- 基金訓練營學習筆記3-股票基金筆記
- JAVA學習筆記Java筆記
- python學習筆記24_集合set( )Python筆記
- 異常處理 - Go 學習記錄Go
- 《JAVA學習指南》學習筆記Java筆記
- Java編譯異常捕捉與上報筆記Java編譯筆記
- Java中的異常處理(隨堂筆記)Java筆記
- C#學習筆記---異常捕獲和變數運算子C#筆記變數
- 吳恩達機器學習筆記 —— 16 異常點檢測吳恩達機器學習筆記
- Java複習筆記第二篇--集合學習之實現原理二Java筆記
- day08_我的Java學習筆記 (String類、ArrayList集合類)Java筆記
- Java學習筆記4Java筆記
- Java JNI 學習筆記Java筆記
- java學習筆記6Java筆記
- Python零基礎學習筆記(二十八)——異常處理Python筆記
- 《Fluid Engine Development》 學習筆記3-光滑粒子流體動力學UIdev筆記
- Java核心技術筆記 異常、斷言和日誌Java筆記