1. 程式人生 > 實用技巧 >java語言基礎 String類

java語言基礎 String類

1.簡單介紹

java沒有內建的字串型別,使用的是標準類庫的String。
java的字串又16位Unicode編碼的字元構成。

1.1編碼問題

java語言在設計之初,Unicode才1.0版本,所以當時java使用了16位的UTF-16編碼。
現代由於16位已經不夠用,於是使用了碼點,編碼單元,兩個概念來解決字元表不足問題。
一個碼點可能等於16位(一個編碼單元),也可能等於兩個編碼單元。
簡單來說,就是16位不夠,就用32位,以前的還是用16位,新來的就用32位。所以可能存在遍歷字元時,會出現錯誤。

2.不可變的字串

java設計者認為,字串的共享比每次改變字串都要重新建立物件(修改字串,其實是另字串引用指向別的物件),所帶來的收益大。
所以在java中,字串物件一旦建立就不能修改。

String hel = "hello";
想變成help,把lo去掉+p
String hel = hel.substring(0,3)+"p";

3.字串判斷相等

要使用equal(),不能使用等號(不想c++那樣過載了==號)

4.StringBuilder

如果頻繁想要"修改”字串物件,會造成頻繁建立新的字串物件,造成資源浪費和效率底。
所以使用了StringBuilder來暫時存放String物件的集合,最後才同意拼接來建立新的字串物件。
StringBuffer是執行緒安全的。

5.String類常用API

String的常用方法太多,所以要學會自己查官方API文件。