1. 程式人生 > >java,String字串的簡單總結

java,String字串的簡單總結

String字串不是基本資料型別,是物件哦,記憶體是不可變的,平時我們只是改變變數的引用關係而已。

字串池的優化:我們的程式中會宣告有很多個字串去存值傳值,為了避免相同內容的字串重複申請了多個而浪費了資源,所以字串池就把相同的統一引用到字串池裡的一個。

例如:

String s1="aa";

String s2="aa";

s1和s2是引用了字串池的同一個物件哦。


除非是這樣,String s3=new String("aa");才會新構建了物件,另開的記憶體資源。


-----------------------------------------

//空字串
String s1 = "";
//沒有指向記憶體
String s2 = null;

-----------------------------------------

String的構造器


可直接傳入字串型別引數,char[]陣列型別,byte[]位元組陣列型別+指定字符集(不指定會按照系統的字符集型別來轉碼),還能傳入StringBuffer型別或者StringBuilder型別。

-----------------------------------------

String的轉位元組方法:

getBytes();得到位元組陣列byte[],可以方法的引數指定字符集型別。

如果不給引數,字符集按照系統預設的字符集。


-----------------------------------------


String的常用方法:

length     返回字串長度
isEmpty     判斷是否為空字串(不是判斷null)
trim     去除字串前後空格
toLowerCase     轉小寫
toUpperCase()     轉大寫
split     字串分離(支援表示式)
toCharArray     把字串拆分成char陣列

-----------------------------------------

indexOf 字串搜尋

搜尋不到返回-1


引數有這麼4種傳法:

int型別    (單個字元搜尋

int型別  int型別    (單個字元搜尋並按指定下標開始搜尋

String型別    (字串

搜尋

String型別  String型別(字串搜尋並按指定下標開始搜尋

-----------------------------------------

lastIndexOf和IndexOf一樣的用法,只不過是反過來從後面開始搜尋至前面。


-----------------------------------------

擷取方法

charAt     指定下標獲取字元

substring     指定下標往後獲取字串 或者 傳入指定起始下標和結束擷取下標


-----------------------------------------

比較方法

startsWith 比較開頭字串與我傳進去的字串是否一致,返回boolean型別


endsWith 比較結尾字串與我傳進去的字串是否一致,返回boolean型別


equals 比較兩個字串是否一致

equalsIgnoreCase 不分大小寫的比較兩個字串是否一致

-----------------------------------------

替換方法

replace 單個字元替換或者字串替換

replaceAll 正則表示式替換方案