java字串和常用方法總結
阿新 • • 發佈:2019-01-10
Java字串類(java.lang.String)
String 類的常用的建立方式一般兩種
1、String s1=”abc”;
2、String s2=new String(“abc”);
這兩中方式區別在於 :
1中先是在常量池檢查是否有這個字串沒有則建立一個abc字串,然後JVM會自動開闢一塊堆記憶體存放一個隱式物件指向abc這個字串,接下來賦值給等號左邊的S1,S1是棧記憶體,它指向的堆記憶體的首地址。
2中是在第一種建立的前提下自己new了一個物件,又開闢了一塊堆記憶體,這個是明確new的物件,所以第二種方式建立了兩個物件。一個是隱式的,另一個是明確new的。
顯然第一種方式更加節省記憶體。
一、字串的特點以及原理
a、不可改變的常量
public final class String
final修飾類中的屬性或者變數,無論屬性是基本型別還是引用型別,final所起的作用都是變數裡面存放的“值”不能變。
b、不能被子類繼承
final修飾類中的方法
作用:可以被繼承,但繼承後不能被重寫。
final修飾類
作用:類不可以被繼承。
常用方法有:
indexof(int ch)從字元位置為0開始查詢,如果找到則返回在字串的索引位置。
charAt()獲取索引出的char值。
compareto() 比較ASCII碼值,對應位置的ASCII碼值。
Boolean equals(String s)比較倆個字串的內容是否相同。
contains(String s )判斷字串中是否包含指定的字串。
Startswith(string s)~endswith()
getchars() 將字串轉換成字元陣列。
還有替換,分割,去空格。
replace()
replaceAll(用正則表示式)
spile()分割
trim()去空格。
subString(擷取字串)起始位置包括在內,結束位置不包括在內。
具體的可以查閱API文件。
可變的字串
StringBuilder執行緒不安全,效率高一些
StringBuffer 執行緒安全的可變的字元序列。
StringBuffer的緩衝區大小,預設為16.