Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 和框架

Java 類引用

Java 有用資源

Java - 字串類



字串Java 程式設計 中被廣泛使用,是一系列字元。在 Java 程式語言中,字串被視為 物件

Java 平臺提供 String 類來建立和操作字串。

建立字串

建立字串最直接的方法是編寫:

String greeting = "Hello world!";

每當它在你的程式碼中遇到一個字串文字時,編譯器就會建立一個 String 物件,其值為本例中的 "Hello world!"。

與任何其他物件一樣,您可以使用 new 關鍵字和 建構函式 來建立 String 物件。String 類有 11 個建構函式,允許您使用不同的來源(例如 字元陣列)來提供字串的初始值。

Java 中建立字串的示例

public class StringDemo {
   public static void main(String args[]) {
      char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
      String helloString = new String(helloArray);  
      System.out.println( helloString );
   }
}

輸出

hello.

注意 - String 類是不可變的,因此一旦建立了 String 物件,就不能更改它。如果需要對字串字元進行大量修改,則應使用 StringBuffer & StringBuilder 類。

字串長度

用於獲取有關物件的資訊的 方法 稱為 訪問器方法。您可以與字串一起使用的訪問器方法之一是 length() 方法,它返回字串物件中包含的字元數。

以下程式是 length() 方法 String 類的示例。

Java 中獲取字串長度的示例

public class StringDemo {
   public static void main(String args[]) {
      String palindrome = "Dot saw I was Tod";
      int len = palindrome.length();
      System.out.println( "String Length is : " + len );
   }
}

這將產生以下結果:

輸出

String Length is : 17

連線字串

String 類包含一個用於連線兩個字串的方法:

string1.concat(string2);

這將返回一個新字串,該字串是 string1,string2 附加到其末尾。您也可以將 concat() 方法與字串文字一起使用,如下所示:

"My name is ".concat("Zara");

字串通常使用 + 運算子連線,如下所示:

"Hello," + " world" + "!"

結果為:

"Hello, world!"

讓我們看下面的例子:

Java 中連線字串的示例

public class StringDemo {
   public static void main(String args[]) {
      String string1 = "saw I was ";
      System.out.println("Dot " + string1 + "Tod");
   }
}

這將產生以下結果:

輸出

Dot saw I was Tod

建立格式化字串

您可以使用 printf() 和 format() 方法以格式化的數字列印輸出。String 類有一個等效的類方法 format(),它返回 String 物件而不是 PrintStream 物件。

使用 String 的靜態 format() 方法允許您建立一個可以重複使用的格式化字串,而不是一次性列印語句。例如,而不是:

Java 中建立格式化字串的示例

System.out.printf("The value of the float variable is " +
   "%f, while the value of the integer " +
   "variable is %d, and the string " +
   "is %s", floatVar, intVar, stringVar);

您可以編寫:

String fs;
fs = String.format("The value of the float variable is " +
   "%f, while the value of the integer " +
   "variable is %d, and the string " +
   "is %s", floatVar, intVar, stringVar);
System.out.println(fs);

Java 字串類方法

以下是 Java 中 String 類的內建方法及其語法和用法:

序號 方法和描述
1 char charAt(int index)

此方法返回指定索引處的 char 值。

2 int codePointAt(int index)

此方法返回指定索引處的字元(Unicode 程式碼點)。

3 int codePointBefore(int index)

此方法返回指定索引之前的字元(Unicode 程式碼點)。

4 int codePointCount(int beginIndex, int endIndex)

此方法返回此字串指定文字範圍內的 Unicode 程式碼點數。

5 int compareTo(String anotherString)

此方法按字典順序比較兩個字串。

6 int compareToIgnoreCase(String str)

此方法按字典順序比較兩個字串,忽略大小寫差異。

7 String concat(String str)

此方法將指定的字串連線到此字串的末尾。

8 boolean contains(CharSequence s)

當且僅當此字串包含指定的 char 值序列時,此方法返回 true。

9 boolean contentEquals(CharSequence cs)

此方法將此字串與指定的 CharSequence 進行比較。

10 boolean contentEquals(StringBuffer sb)

此方法將此字串與指定的 StringBuffer 進行比較。

11 static String copyValueOf(char[] data)

此方法返回一個表示指定陣列中字元序列的 String。

12 static String copyValueOf(char[] data, int offset, int count)

此方法返回一個表示指定陣列中字元序列的 String。

13 boolean endsWith(String suffix)

此方法測試此字串是否以指定的 suffix 結尾。

14 boolean equals(Object anObject)

此方法將此字串與指定的物件進行比較。

15 boolean equalsIgnoreCase(String anotherString)

此方法將此 String 與另一個 String 進行比較,忽略大小寫考慮因素。

16 static String format(Locale l, String format, Object... args)

此方法使用指定的區域設定、格式字串和引數返回格式化的字串。

17 static String format(String format, Object... args)

此方法使用指定的格式字串和引數返回格式化的字串。

18 byte[] getBytes()

此方法使用平臺的預設字元集將此字串編碼為位元組序列,並將結果儲存到新的位元組陣列中。

19 byte[] getBytes(Charset charset)

此方法使用給定的字元集將此字串編碼為位元組序列,並將結果儲存到新的位元組陣列中。

20 byte[] getBytes(String charsetName)

此方法使用指定的字元集名稱將此字串編碼為位元組序列,並將結果儲存到新的位元組陣列中。

21 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

此方法將此字串中的字元複製到目標字元陣列中。

22 int hashCode()

此方法返回此字串的雜湊碼。

23 int indexOf(int ch)

此方法返回在此字串中指定字元第一次出現的索引。

24 int indexOf(int ch, int fromIndex)

此方法返回在此字串中指定字元第一次出現的索引,從指定索引開始搜尋。

25 int indexOf(String str)

此方法返回在此字串中指定子字串第一次出現的索引。

26 int indexOf(String str, int fromIndex)

此方法返回在此字串中指定子字串第一次出現的索引,從指定索引開始搜尋。

27 String intern()

此方法返回字串物件的規範表示形式。

28 boolean isEmpty()

此方法當且僅當 length() 為 0 時返回 true。

29 int lastIndexOf(int ch)

此方法返回在此字串中指定字元最後一次出現的索引。

30 int lastIndexOf(int ch, int fromIndex)

此方法返回在此字串中指定字元最後一次出現的索引,從指定索引開始向後搜尋。

31 int lastIndexOf(String str)

此方法返回在此字串中最右側出現的指定子字串的索引。

32 int lastIndexOf(String str, int fromIndex)

此方法返回在此字串中指定子字串最後一次出現的索引,從指定索引開始向後搜尋。

33 int length()

此方法返回此字串的長度。

34 boolean matches(String regex)

此方法判斷此字串是否與給定的正則表示式匹配。

35 int offsetByCodePoints(int index, int codePointOffset)

此方法返回在此字串中從給定索引偏移 codePointOffset 個程式碼點的索引。

36 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)

此方法測試兩個字串區域是否相等,忽略大小寫。

37 boolean regionMatches(int toffset, String other, int ooffset, int len)

此方法測試兩個字串區域是否相等。

38 String replace(char oldChar, char newChar)

此方法返回一個新的字串,該字串是由替換此字串中所有出現的 oldChar 為 newChar 得到的。

39 String replace(CharSequence target, CharSequence replacement)

此方法將此字串中與文字目標序列匹配的每個子字串替換為指定的文字替換序列。

40 String replaceAll(String regex, String replacement)

此方法將此字串中與給定正則表示式匹配的每個子字串替換為給定的替換字串。

41 String replaceFirst(String regex, String replacement)

此方法將此字串中第一個與給定正則表示式匹配的子字串替換為給定的替換字串。

42 String[] split(String regex)

此方法根據給定正則表示式的匹配結果分割此字串。

43 String[] split(String regex, int limit)

此方法根據給定正則表示式的匹配結果分割此字串。

44 boolean startsWith(String prefix)

此方法測試此字串是否以指定的 prefix 開頭。

45 boolean startsWith(String prefix, int toffset)

此方法測試此字串從指定索引開始的子字串是否以指定的 prefix 開頭。

46 CharSequence subSequence(int beginIndex, int endIndex)

此方法返回一個新的字元序列,它是此序列的子序列。

47 String substring(int beginIndex)

此方法返回一個新的字串,它是此字串的子字串。

48 String substring(int beginIndex, int endIndex)

此方法返回一個新的字串,它是此字串的子字串。

49 char[] toCharArray()

此方法將此字串轉換為一個新的字元陣列。

50 String toLowerCase()

此方法使用預設語言環境的規則將此字串中的所有字元轉換為小寫。

51 String toLowerCase(Locale locale)

此方法使用給定語言環境的規則將此字串中的所有字元轉換為小寫。

52 String toString()

此方法返回字串本身。

53 String toUpperCase()

此方法使用預設語言環境的規則將此字串中的所有字元轉換為大寫。

54 String toUpperCase(Locale locale)

此方法使用給定語言環境的規則將此字串中的所有字元轉換為大寫。

55 String trim()

此方法返回字串的副本,省略了前導和尾隨空格。

56 static String valueOf(boolean b)

此方法返回布林引數的字串表示形式。

57 static String valueOf(char c)

此方法返回字元引數的字串表示形式。

58 static String valueOf(char[] data)

此方法返回字元陣列引數的字串表示形式。

59 static String valueOf(char[] data, int offset, int count)

此方法返回字元陣列引數的特定子陣列的字串表示形式。

60 static String valueOf(double d)

此方法返回雙精度引數的字串表示形式。

61 static String valueOf(float f)

此方法返回浮點引數的字串表示形式。

62 static String valueOf(int i)

此方法返回整數引數的字串表示形式。

63 static String valueOf(long l)

此方法返回長整數引數的字串表示形式。

64 static String valueOf(Object obj)

此方法返回物件引數的字串表示形式。

廣告