Java字符串常用操作
Java String 類
字符串廣泛應用 在 Java 編程中,在 Java 中字符串屬于對象,Java 提供了 String 類來創建和操作字符串。
創建字符串
創建字符串最簡單的方式如下:String greeting = "菜鳥教程";
在代碼中遇到字符串常量時,這里的值是 "菜鳥教程"",編譯器會使用該值創建一個 String 對象。
和其它對象一樣,可以使用關鍵字和構造方法來創建 String 對象。
String 類有 11 種構造方法,這些方法提供不同的參數來初始化字符串,比如提供一個字符數組參數:
StringDemo.java 文件代碼:
public class StringDemo{public static void main(String args[]){char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'};String helloString = new String(helloArray);System.out.println( helloString );} }以上實例編譯運行結果如下:
runoob注意:String 類是不可改變的,所以你一旦創建了 String 對象,那它的值就無法改變了(詳看筆記部分解析)。
如果需要對字符串做很多修改,那么應該選擇使用?StringBuffer & StringBuilder 類。
字符串長度
用于獲取有關對象的信息的方法稱為訪問器方法。
String 類的一個訪問器方法是 length() 方法,它返回字符串對象包含的字符數。
下面的代碼執行后,len 變量等于 14:
StringDemo.java 文件代碼:
public class StringDemo {public static void main(String args[]) {String site = "www.runoob.com";int len = site.length();System.out.println( "菜鳥教程網址長度 : " + len );} }以上實例編譯運行結果如下:
菜鳥教程網址長度 : 14連接字符串
String 類提供了連接兩個字符串的方法:
string1.concat(string2);返回 string2 連接 string1 的新字符串。也可以對字符串常量使用 concat() 方法,如:
"我的名字是 ".concat("Runoob");更常用的是使用'+'操作符來連接字符串,如:
"Hello," + " runoob" + "!"結果如下:
"Hello, runoob!"下面是一個例子:
StringDemo.java 文件代碼:
public class StringDemo{public static void main(String args[]){String string1 = "菜鳥教程網址:";System.out.println("1、" + string1 + "www.runoob.com");} }以上實例編譯運行結果如下:
1、菜鳥教程網址:www.runoob.com創建格式化字符串
我們知道輸出格式化數字可以使用 printf() 和 format() 方法。
String 類使用靜態方法 format() 返回一個String 對象而不是 PrintStream 對象。
String 類的靜態方法 format() 能用來創建可復用的格式化字符串,而不僅僅是用于一次打印輸出。
如下所示:
System.out.printf("浮點型變量的值為 " + "%f, 整型變量的值為 " + " %d, 字符串變量的值為 " + "is %s", floatVar, intVar, stringVar);你也可以這樣寫
String fs; fs = String.format("浮點型變量的值為 " + "%f, 整型變量的值為 " + " %d, 字符串變量的值為 " + " %s", floatVar, intVar, stringVar);String 方法
下面是 String 類支持的方法,更多詳細,參看?Java String API?文檔:
| 1 | char charAt(int index) 返回指定索引處的 char 值。 |
| 2 | int compareTo(Object o) 把這個字符串和另一個對象比較。 |
| 3 | int compareTo(String anotherString) 按字典順序比較兩個字符串。 |
| 4 | int compareToIgnoreCase(String str) 按字典順序比較兩個字符串,不考慮大小寫。 |
| 5 | String concat(String str) 將指定字符串連接到此字符串的結尾。 |
| 6 | boolean contentEquals(StringBuffer sb) 當且僅當字符串與指定的StringBuffer有相同順序的字符時候返回真。 |
| 7 | static String copyValueOf(char[] data) 返回指定數組中表示該字符序列的 String。 |
| 8 | static String copyValueOf(char[] data, int offset, int count) 返回指定數組中表示該字符序列的 String。 |
| 9 | boolean endsWith(String suffix) 測試此字符串是否以指定的后綴結束。 |
| 10 | boolean equals(Object anObject) 將此字符串與指定的對象比較。 |
| 11 | boolean equalsIgnoreCase(String anotherString) 將此 String 與另一個 String 比較,不考慮大小寫。 |
| 12 | byte[] getBytes() ?使用平臺的默認字符集將此 String 編碼為 byte 序列,并將結果存儲到一個新的 byte 數組中。 |
| 13 | byte[] getBytes(String charsetName) 使用指定的字符集將此 String 編碼為 byte 序列,并將結果存儲到一個新的 byte 數組中。 |
| 14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 將字符從此字符串復制到目標字符數組。 |
| 15 | int hashCode() 返回此字符串的哈希碼。 |
| 16 | int indexOf(int ch) 返回指定字符在此字符串中第一次出現處的索引。 |
| 17 | int indexOf(int ch, int fromIndex) 返回在此字符串中第一次出現指定字符處的索引,從指定的索引開始搜索。 |
| 18 | int indexOf(String str) ?返回指定子字符串在此字符串中第一次出現處的索引。 |
| 19 | int indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出現處的索引,從指定的索引開始。 |
| 20 | String intern() ?返回字符串對象的規范化表示形式。 |
| 21 | int lastIndexOf(int ch) ?返回指定字符在此字符串中最后一次出現處的索引。 |
| 22 | int lastIndexOf(int ch, int fromIndex) 返回指定字符在此字符串中最后一次出現處的索引,從指定的索引處開始進行反向搜索。 |
| 23 | int lastIndexOf(String str) 返回指定子字符串在此字符串中最右邊出現處的索引。 |
| 24 | int lastIndexOf(String str, int fromIndex) ?返回指定子字符串在此字符串中最后一次出現處的索引,從指定的索引開始反向搜索。 |
| 25 | int length() 返回此字符串的長度。 |
| 26 | boolean matches(String regex) 告知此字符串是否匹配給定的正則表達式。 |
| 27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 測試兩個字符串區域是否相等。 |
| 28 | boolean regionMatches(int toffset, String other, int ooffset, int len) 測試兩個字符串區域是否相等。 |
| 29 | String replace(char oldChar, char newChar) 返回一個新的字符串,它是通過用 newChar 替換此字符串中出現的所有 oldChar 得到的。 |
| 30 | String replaceAll(String regex, String replacement) 使用給定的 replacement 替換此字符串所有匹配給定的正則表達式的子字符串。 |
| 31 | String replaceFirst(String regex, String replacement) ?使用給定的 replacement 替換此字符串匹配給定的正則表達式的第一個子字符串。 |
| 32 | String[] split(String regex) 根據給定正則表達式的匹配拆分此字符串。 |
| 33 | String[] split(String regex, int limit) 根據匹配給定的正則表達式來拆分此字符串。 |
| 34 | boolean startsWith(String prefix) 測試此字符串是否以指定的前綴開始。 |
| 35 | boolean startsWith(String prefix, int toffset) 測試此字符串從指定索引開始的子字符串是否以指定前綴開始。 |
| 36 | CharSequence subSequence(int beginIndex, int endIndex) ?返回一個新的字符序列,它是此序列的一個子序列。 |
| 37 | String substring(int beginIndex) 返回一個新的字符串,它是此字符串的一個子字符串。 |
| 38 | String substring(int beginIndex, int endIndex) 返回一個新字符串,它是此字符串的一個子字符串。 |
| 39 | char[] toCharArray() 將此字符串轉換為一個新的字符數組。 |
| 40 | String toLowerCase() 使用默認語言環境的規則將此 String 中的所有字符都轉換為小寫。 |
| 41 | String toLowerCase(Locale locale) ?使用給定 Locale 的規則將此 String 中的所有字符都轉換為小寫。 |
| 42 | String toString() ?返回此對象本身(它已經是一個字符串!)。 |
| 43 | String toUpperCase() 使用默認語言環境的規則將此 String 中的所有字符都轉換為大寫。 |
| 44 | String toUpperCase(Locale locale) 使用給定 Locale 的規則將此 String 中的所有字符都轉換為大寫。 |
| 45 | String trim() 返回字符串的副本,忽略前導空白和尾部空白。 |
| 46 | static String valueOf(primitive data type x) 返回給定data type類型x參數的字符串表示形式。 |
| 47 | contains(CharSequence chars) 判斷是否包含指定的字符系列。 |
| 48 | isEmpty() 判斷字符串是否為空。 |
總結
以上是生活随笔為你收集整理的Java字符串常用操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8个适合用来练手的SpringBoot开
- 下一篇: java.lang包—StringBuf