1.字串
1.String類又稱作不可變字符序列
2.String位于java.lang包中,java程式默認匯入java.lang包下所有的類
3.java字串就是Unicode字符序列,例如字串“java”就是4個Unicode字符:‘j’,‘a’,‘v’,‘a’組成的
4.java中沒有內置的字串型別,而是在標準的java類別庫中提供了一個預定義的類String,每個用雙引號括起來的字串都是String類的一個實體
5.java中允許使用符號“+”把兩個字串連接起來,
例:

6.字串連接:“+”把兩個字串按照給定的順序連接在一起,并且是完全按照給定的形式
當“+”號運算子兩側的運算元中只有一個是字串(String)型別,系統會自動將另一個運算元轉換為字串再進行輸出
例:

2.常量池
常量池分為三種:全域字串常量池,class檔案常量池,運行時常量池
1.全域字串常量池
全域字串常量池中存放的內容時在類加載完成后存到String Pool中的,在每個JVM中只有一份
存放的是字串常量的參考值(在堆中生成字串物件實體)
2.class檔案常量池
class常量池是在編譯的時候每個class都有的,在編譯階段,存放的是常量(文本字串,final常量等)和符號參考
3.運行時常量池
運行時常量池是在類加載完成之后,將每個class常量池中的符號參考值轉存到運行時常量池中,也就是說,每個class都有一個運行時常量池
類在決議后,將符號參考替換成直接參考,與全域常量池的參考值保持一致,
例:

“==“符號比較的是等號兩邊的值以及地址是否相同
str1和str2是通過一個物件創建出來的,共同處在同意常量池,所以地址也相同
而str3是新建的String物件,在一個新的常量池中,所以str3和str1的地址不同
因此在比較兩個字串值是否相同時,通常使用equals()方法,
例:
3.String類的常用方法
char charAt(int index): 回傳指定索引處的 char 值,
boolean equals(String other): 將此字串與指定的物件比較,
boolean equalsIgnoreCase(String other):將此 String 與另一個 String 比較,不考慮大小寫,
int indexOf():回傳指定字符在此字串中第一次出現處的索引,
lastIndexOf():回傳在此字串中第一次出現指定字符處的索引,從指定的索引開始搜索,
int length(): 回傳此字串的長度,
String replace(char oldChar,char newChar):回傳一個新的字串,它是通過用 newChar 替換此字串中出現的所有 oldChar 得到的,
boolean startsWith(String prefix):測驗此字串是否以指定的前綴開始,
boolean endsWith(String prefix): 測驗此字串是否以指定的后綴結束
String substring(int beginIndex):回傳一個新的字串,它是此字串的一個子字串,
String substring(int beginIndex,int endIndex):回傳一個新字串,它是此字串的一個子字串,
String toLowerCase():使用默認語言環境的規則將此 String 中的所有字符都轉換為小寫,
String toUpperCase():使用默認語言環境的規則將此 String 中的所有字符都轉換為大寫,
String trim():回傳字串的副本,忽略前導空白和尾部空白,
例:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/158270.html
標籤:Java
下一篇:面試官:換人!他連哈希扣的都不懂
