1. 程式人生 > >《java編程思想》:字符串

《java編程思想》:字符串

識別 過程 this string pattern his formatter 構造 輸出

1.String對象是不可變的,String類中每個看起來會修改String值的方法,實際上都是創建了一個新的String對象,來包含修改後的內容,所以在對String修改後,想打印新的值,可以直接打印,或者使用變量接受,直接打印原String引用是不會有變化的。

2.通過 “+” 連接String字符串,實際上是編譯器自動引入了StringBuilder類,通過append()方法實現的。

3.當為一個類編寫toString()方法時,如果字符串操作比較簡單,可以直接使用“+”,信賴編譯器。 但是如果在方法中使用了循環時,最好自己創建一個StringBuilder對象,用它來手動構造最後的結果。 如果使用“+”,編譯器會在循環的過程中不斷的創建StringBuilder對象,影響效率的同時也會造成過多垃圾。雖然java存在自動回收機制,但是其從來不是實時的,只是在內存不夠用時才回收,所以盡量產生少的垃圾也是必要的。

4.在toString()方法中,不要直接使用this,如使用 a = “b” + this + “c”這種語句,編譯器無法識別this的時候,會調用this的toString()方法,此時就會陷入遞歸中,不停地出錯。

5.Formatter()類能實現String字符串輸出格式更精細的控制,當需要時可以參考使用此類。

6.String.format()方法,其實現原理也是內部創建Formatter對象,實現格式化。

7.熟練掌握正則表達式的書寫規範,同時熟悉使用Pattern和Matcher類api,兩者結合的功能很強大,幾乎可以滿足對字符串的操作。

《java編程思想》:字符串