java字串學習

2021-08-17 23:15:28 字數 963 閱讀 5155

1,字串 str 中字元的索引從0開始,範圍為 0 到 str.length()-1

2. 使用 indexof 進行字元或字串查詢時,如果匹配返回位置索引;如果沒有匹配結果,返回 -1

3. 使用 substring(beginindex , endindex) 進行字串擷取時,包括 beginindex 位置的字元,不包括 endindex 位置的字元

「==」 和 equals() 有什麼區別呢?

==: 判斷兩個字串在記憶體中首位址是否相同,即判斷是否是同乙個字串物件

equals(): 比較儲存在兩個字串物件中的內容是否一致

位元組是計算機儲存資訊的基本單位,

1 個位元組等於 8 位

, gbk 編碼中 1 個漢字字元儲存需要 2 個位元組

,1 個英文本元儲存需要 1 個位元組

每個漢字對應兩個位元組值,如「學」對應 「-47 -89」 ,而英文本母 「j」 對應 「74」 。同時,我們還發現漢字對應的位元組值為負數,原因在於每個位元組是 8 位,最大值不能超過 127,而

漢字轉換為位元組後超過 127,如果超過就會溢位,以負數的形式顯示

程式執行時會額外建立乙個物件,儲存 "helloworld"。當頻繁操作字串時,就會額外產生很多臨時變數。使用 stringbuilder 或 stringbuffer 就可以避免這個問題。至於 stringbuilder 和stringbuffer ,它們基本相似,不同之處,stringbuffer 是執行緒安全的,而 stringbuilder 則沒有實現執行緒安全功能,所以效能略高。因此一般情況下,如果需要建立乙個內容可變的字串物件,應優先考慮使用 stringbuilder 類。

java字串(學習筆記)

1.string物件建立後則不能被修改,是不可變的,所謂的修改其實是建立了新的物件,所指向的記憶體空間不同。2.一旦乙個字串在記憶體中建立,這個字串將不可改變。如果需要乙個可以改變的字串,可以使用stringbuffer或者stringbuilder。stringbuffer是執行緒安全的,而str...

JAVA學習 String字串延展

stringbuffer 緩衝區,本身也是操作字串,但是他可以更改 public static void main string args public static void tell stringbuffer s 輸出結果 i love hello i123ove hello 通過insert方...

java字串排序

一 如果要排序的為字串,如 string sortstr acdfe char arraych sortstr tochararray 1,把sortstr轉換為字元陣列 arrays.sort arraych 2,利用陣列幫助類自動排序 system.out.println arrays.tost...