Java零基礎學習-----JAVA核心類庫(上)(三)

正則表達式

 

正則表達式概念:

正則表達式本質就是一個“規則字符串”,可以用於對字符串數據的格式進行驗證,以及匹配、查

找、替換等操作。該字符串通常使用^運算符作爲開頭標誌,使用$運算符作爲結尾標誌,當然也可以省

略。

 

正則表達式規則:

 

 

正則表達式規則:

 

 

可變字符串類

 

可變字符串類的基本概念

1.由於String類描述的字符串內容是個常量不可改變,當需要在java代碼中描述大量類似的字符串是,只能單獨申請和存儲,此時會造成內存空間的浪費。

2.爲了解決上述問題,可以使用java.lang.StringBuilder類和java.lang.StringBuffer類來描述字符序列可以改變的字符串,如‘ab’.

3.StringBuffer是從jdk1.0開始存在,屬於線程安全的類,因此效率比較低

4.StringBuilder是從jdk1.5開始存在,屬於非線程安全的類,效率比較高

 

 

StringBuilder類常用的構造方法

StringBuilder類常用的成員方法

注意:

作爲參數傳遞的話,方法內部String不會改變其值,StringBuffffer和StringBuilder會改變其值。

 

StringBuilder類擴容算法的源碼解析

 

 

 

 

底層採用byte數組來存儲所有字符內容。

 

 

 

//使用for循環刪除多個字符

for(int i=8;i<12;i++){

//由結果可知:刪除一個字符就跳過一個字符繼續刪除,因爲每當刪除一個字符後後面 的字符會向前補位,因爲下標會發生變化

//Sb.deleteCharAt(i);

解決辦法:

//始終刪除下標爲8的元素

Sb.deleteCharAt(8);

}

 

字符串類的筆試考點:

 

考點一:既然StringBuilder類的對象本身可以修改,那麼爲什麼成員方法還有返回值呢?

解釋:爲了連續調用

例:Sb3.revese().append("1").insert(0,"e");

 

 

返回值的設計

 

 

考點二:如何實現StringBuilder類型和String類型之間的轉換呢?

解釋:

String str=sb3.toString();

StringBuilder sb5=new StringBuilder(str3);

 

考點三:

String,StringBuilder,StringBuffer誰的效率最高。

解釋:String<StringBuffer<StringBuilder

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章