JAVA從入門到精通(13)-- 字符串

一、字符串

1》在Java中,字符串被作爲String類型的對象處理。String 類位於java.lang包中。默認情況下,該包被自動導入所有的程序。

2》創建String對象的方法

String  s1  =  "imooc" ;

String  s2  =  new  String() ;

String  s3  =   new  String("imooc") ;

二、字符串的不變性

String對象創建後則不能被修改,是不可變的,所謂的修改其實是創建了新的對象,所指向的內存空間不同。

注:1》每次new一個字符串就是產生一個新的對象,即便兩個字符串的內容相同,使用“ ==”比較時也爲false,如果只需比較內容是否相同,應使用“equals()”方法。

2》一旦一個字符串在內存中創建,則這個字符串將不可改變,如果需要一個可以改變的字符串,我們可以使用StringBuffer或者StringBuilder。

三、String類的常用方法

1》常用方法

:1》字符串str中字符的索引從0開始,範圍爲0到str.length()-1

2》使用indexOf進行字符或字符串查找時,如果匹配返回位置索引;如果沒有匹配結果,返回-1

3》使用substring(beginindex,endindex)進行字符串截取時,包括beginindex位置的字符,不包括endindex位置的字符

4》“==” 和 equals() 區別?

== :是判斷兩個字符串在內存中首地址是否相同,即判斷是否是同一個字符串對象

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

PS:   字節是計算機存儲信息的基本單位,1個字節等於8位,gbk編碼中一個漢字字符存儲需要2個字節,1個英文字符存儲需要1個字節。同時,漢字對應的字節值爲負數,原因在於每個字節是8位,最大值不能超過127,而漢字轉換字節後超過127,如果超過就會溢出,以負數的形式顯示。

四、StringBuilder類

1》Java中,除了可以使用String類來存儲字符串,還可以使用StringBuilder類或StringBuffer類存儲字符串。

2》程序運行時會額外創建一個對象,當頻繁操作字符串時,就會額外產生很多臨時變量,使用StringBuilder類或StringBuffer類就可以避免這個問題。它們基本相似,不用之處,StringBuffer是線程安全的,而StringBuilder則沒有實現線程安全功能,所以性能略高。因此一般情況下,如果需要創建一個內容可變的字符串對象,應優先考慮StringBuilder類。

例如:StringBuilder hobby=new StringBuilder("immooo");

3》StringBuilder類提供的方法操作字符串:

創建StringBuilder對象,用來存儲字符串,可以對其做追加和插入操作,但這些操作修改了str對象的值,而沒有創建新的對象。這就是StringBuilder和String最大的區別。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章