1. 程式人生 > 實用技巧 >2020/7/10 java toString String類 StringBuffer類 正則表示式

2020/7/10 java toString String類 StringBuffer類 正則表示式

toString方法

toString方法返回該物件的字串表示

由於toString方法返回的結果是記憶體地址,而在開發中,經常需要按照物件的屬性得到相應的字串表現形式,因此也需要重寫它。

class Person extends Object{
    int age ;
    //根據Person類的屬性重寫toString方法
    public String toString() {
        return "Person [age=" + age + "]";
    }
}

1String類

字串的本質是一個字元的陣列。

String s3 = "abc";
String s4 
= new String("abc"); System.out.println(s3==s4);//false System.out.println(s3.equals(s4));//true, //因為String重寫了equals方法,建立了字串自己的判斷相同的依據(通過字串物件中的字元來判斷)

ls3建立,在記憶體中只有一個物件。這個物件在字串常量池中

ls4建立,在記憶體中有兩個物件。一個new的物件在堆中,一個字串本身物件,在字串常量池中

1.1String類構造方法

1.2String類的成員方法

lentgh() 返回該字串的長度 返回值 是int型別

substring(int 下標)返回下標後面的所有字元

substring(int 下標,int 下標)返回第一個下標以後第二個下標以前的字元 不包括第二個下標的字元

startsWith(String prefix)測試此字串是否以特定的字首開始 返回值是布林值

endswith (String suffix) 測試此字串是否以指定的字尾結束。返回值是布林值

cont ains (CharSeguence s) 當且僅當此字串包含指定的char值序列時,返回true。

indexOf (String str)返回指定子字串在此字串中第一次出現處的索引。

getBytes()使用平臺的預設字符集將此String 編碼為byte 序列,並將結果儲存到一個新的byte 陣列中。.

toCharArray() 將此字串轉換為- -個新的字元陣列。

eguals (Object. an0bject)將此字串與指定的物件比較。

equalsIgnoreCase (String anotherString) 將此String與另一個String比較,不考慮大小寫。

toString() 返回此物件本身(它已經是- -個字串! )。

2字串緩衝區

2.1StringBuffer

字串緩衝區支援可變的字串

成員方法

append(String str) 將指定的字串追加到此字元序列。

delete(int start, int end) 移除此序列的子字串中的字元。

insert (int offset, String str) 將字串插入此字元序列中。

replace (int start, int end, String str) 使用給定String中的字元替換此序列的子字串中的字元。

reverse () 將此字元序列用其反轉形式取代。

toString () 返回此序列中資料的字串表示形式。

2.2StringBuilder

StringBuffer 是一個可變的字元序列。此類提供一個與 StringBuffer 相容的 API,但不保證同步。該類被設計用作 StringBuffer 的一個簡易替換,用在字串緩衝區被單個執行緒使用的時候(這種情況很普遍)。如果可能,建議優先採用該類,因為在大多數實現中,它比 StringBuffer 要快。

3正則表示式

正則表示式是一個字串,使用單個字元串來描述、用來定義匹配規則,匹配一系列符合某個句法規則的字串。在開發中,正則表示式通常被用來檢索、替換那些符合某個規則的文字

3.1正則表示式的匹配規則

字元:x

含義:代表的是字元x

字元:\\

含義:代表的是反斜線字元'\'

字元:\t

含義:製表符

字元:\n

含義:換行符

字元:\r

含義:回車符

字元類:[abc]

含義:代表的是字元ab c

字元類:[^abc]

含義:代表的是除了 ab c以外的任何字元

字元類:[a-zA-Z]

含義:代表的是a z A Z,兩頭的字母包括在內

字元類:[0-9]

含義:代表的是 09數字,兩頭的數字包括在內

字元類:[a-zA-Z_0-9]

含義:代表的字母或者數字或者下劃線(即單詞字元)

預定義字元類:.

含義:代表的是任何字元

預定義字元類:\d

含義:代表的是 09數字,兩頭的數字包括在內,相當於[0-9]

預定義字元類:\w

含義:代表的字母或者數字或者下劃線(即單詞字元),相當於[a-zA-Z_0-9]

數量詞:X?

含義:代表的是X出現一次或一次也沒有

數量詞:X*

含義:代表的是X出現零次或多次

數量詞:X+

含義:代表的是X出現一次或多次

數量詞:X{n}

含義:代表的是X出現恰好 n

數量詞:X{n,}

含義:代表的是X出現至少 n

數量詞:X{n,m}

含義:代表的是X出現至少 n 次,但是不超過 m

3.2字串類中涉及正則表示式的常用方法