java--String
一、什麼是String
- String表示字符串,所謂字符串,就是一連串的字符;
- String是不可變類,一旦String對象被創建,包含在對象中的字符序列(內容)是不可變的,直到對象被銷燬
- 常量池:JVM中一塊獨立的區域存放字符串常量和基本類型常量(public static final)。
二、String常量池
- String使用private final char value[]來實現字符串的存儲,也就是說String對象創建之後,就不能再修改此對象中存儲的字符串內容,就是因爲如此,才說String類型是不可變的.
- String對象比較:
- 單獨使用""引號創建的字符串都是常量,編譯期就已經確定存儲到常量池中;
- 使用new String("")創建的對象會存儲到堆內存中,是運行期新創建的;
- 使用只包含常量的字符串連接符如"aa" + "bb"創建的也是常量,編譯期就能確定,已經確定存儲到常量池中;
- 使用包含變量的字符串連接符如"aa" + s1創建的對象是運行期才創建的,存儲在堆中;
三、String常用方法
- boolean contentEquals(StringBuffer buffer):若二者包含的字符序列相同時就返回true;
- boolean equals(Object obj):將該字符串與指定對象比較,若二者包含的字符序列相等返回true;
- boolean equalsIgnoreCase(String anotherString) 將此 String 與另一個 String 比較,不考慮大小寫;
- byte[] getBytes():將該字符串轉換成byte數組;
- int indexOf(String str):找出str字符串在該字符串中第一次出現的位置;
- int indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出現處的索引,從指定的索引開始;
- int lastIndexOf(String str) 返回指定子字符串在此字符串中最後一次出現處的索引;
- int length():返回當前字符串長度;
- String replace(char oldChar, char newChar) :返回一個新的字符串,它是通過用 newChar 替換此字符串中出現的所有 oldChar 得到的。
- String replaceAll(String regex, String replacement) 使用給定的 字符串replacement 替換此字符串所有的regex字符串;
- boolean startsWith(String prefix) 測試此字符串是否以指定的前綴開始.
- String[] split(String regex): 把字符串按指定的字符串分隔開。
- String substring(int beginIndex) 返回一個新的字符串,從beginIndex開始截取,它是此字符串的一個子字符串;
- String substring(int beginIndex, int endIndex) 返回一個新字符串,它是此字符串的一個子字符串;[begin,end)
- char[] toCharArray() 將此字符串轉換爲一個新的字符數組。
- String toLowerCase() 將此 String 中的所有字符都轉換爲小寫;
- String toUpperCase()轉成大寫;
- static String valueOf(基本類型 obj):把基本類型值轉成字符串;
- String trim() :忽略字符串前導空白和尾部空白。