溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中String類有哪些使用方法

發布時間:2022-03-14 09:21:00 來源:億速云 閱讀:204 作者:小新 欄目:開發技術

Java中String類有哪些使用方法

目錄

  1. String類概述
  2. String類的構造方法
  3. String類的常用方法
  4. String類的不可變性
  5. StringBuffer和StringBuilder
  6. 總結

String類概述

在Java中,String類是一個非常重要的類,用于表示和操作字符串。字符串是字符序列,String類提供了豐富的方法來操作這些字符序列。由于字符串在Java中是不可變的,因此每次對字符串的操作都會生成一個新的字符串對象。

String類的構造方法

String類提供了多種構造方法,用于創建字符串對象。以下是一些常用的構造方法:

  1. 無參構造方法

    String str = new String();
    

    創建一個空的字符串對象。

  2. 使用字符數組構造方法

    char[] charArray = {'H', 'e', 'l', 'l', 'o'};
    String str = new String(charArray);
    

    使用字符數組創建一個字符串對象。

  3. 使用字節數組構造方法

    byte[] byteArray = {72, 101, 108, 108, 111};
    String str = new String(byteArray);
    

    使用字節數組創建一個字符串對象。

  4. 使用字符串字面量構造方法

    String str = new String("Hello");
    

    使用字符串字面量創建一個字符串對象。

  5. 使用StringBuffer或StringBuilder構造方法

    StringBuffer sb = new StringBuffer("Hello");
    String str = new String(sb);
    

    使用StringBufferStringBuilder對象創建一個字符串對象。

String類的常用方法

字符串長度

  1. length()
    
    String str = "Hello";
    int length = str.length(); // 返回5
    
    返回字符串的長度。

字符串比較

  1. equals(Object obj)

    String str1 = "Hello";
    String str2 = "Hello";
    boolean isEqual = str1.equals(str2); // 返回true
    

    比較兩個字符串的內容是否相等。

  2. equalsIgnoreCase(String str)

    String str1 = "Hello";
    String str2 = "hello";
    boolean isEqual = str1.equalsIgnoreCase(str2); // 返回true
    

    忽略大小寫比較兩個字符串的內容是否相等。

  3. compareTo(String str)

    String str1 = "Hello";
    String str2 = "World";
    int result = str1.compareTo(str2); // 返回負數,表示str1小于str2
    

    按字典順序比較兩個字符串。

  4. compareToIgnoreCase(String str)

    String str1 = "Hello";
    String str2 = "hello";
    int result = str1.compareToIgnoreCase(str2); // 返回0,表示相等
    

    忽略大小寫按字典順序比較兩個字符串。

字符串查找

  1. charAt(int index)

    String str = "Hello";
    char ch = str.charAt(1); // 返回'e'
    

    返回指定索引處的字符。

  2. indexOf(int ch)

    String str = "Hello";
    int index = str.indexOf('e'); // 返回1
    

    返回指定字符在字符串中第一次出現的索引。

  3. indexOf(String str)

    String str = "Hello World";
    int index = str.indexOf("World"); // 返回6
    

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

  4. lastIndexOf(int ch)

    String str = "Hello";
    int index = str.lastIndexOf('l'); // 返回3
    

    返回指定字符在字符串中最后一次出現的索引。

  5. lastIndexOf(String str)

    String str = "Hello World";
    int index = str.lastIndexOf("o"); // 返回7
    

    返回指定子字符串在字符串中最后一次出現的索引。

字符串截取

  1. substring(int beginIndex)

    String str = "Hello World";
    String subStr = str.substring(6); // 返回"World"
    

    返回從指定索引開始到字符串末尾的子字符串。

  2. substring(int beginIndex, int endIndex)

    String str = "Hello World";
    String subStr = str.substring(0, 5); // 返回"Hello"
    

    返回從指定開始索引到結束索引之間的子字符串。

字符串替換

  1. replace(char oldChar, char newChar)

    String str = "Hello";
    String newStr = str.replace('l', 'L'); // 返回"HeLLo"
    

    替換字符串中所有指定的字符。

  2. replace(CharSequence target, CharSequence replacement)

    String str = "Hello World";
    String newStr = str.replace("World", "Java"); // 返回"Hello Java"
    

    替換字符串中所有指定的子字符串。

字符串分割

  1. split(String regex)

    String str = "Hello,World,Java";
    String[] parts = str.split(","); // 返回["Hello", "World", "Java"]
    

    根據指定的正則表達式分割字符串。

  2. split(String regex, int limit)

    String str = "Hello,World,Java";
    String[] parts = str.split(",", 2); // 返回["Hello", "World,Java"]
    

    根據指定的正則表達式和限制次數分割字符串。

字符串連接

  1. concat(String str)

    String str1 = "Hello";
    String str2 = "World";
    String newStr = str1.concat(str2); // 返回"HelloWorld"
    

    將指定字符串連接到當前字符串的末尾。

  2. +運算符

    String str1 = "Hello";
    String str2 = "World";
    String newStr = str1 + str2; // 返回"HelloWorld"
    

    使用+運算符連接字符串。

字符串大小寫轉換

  1. toLowerCase()

    String str = "Hello";
    String lowerStr = str.toLowerCase(); // 返回"hello"
    

    將字符串轉換為小寫。

  2. toUpperCase()

    String str = "Hello";
    String upperStr = str.toUpperCase(); // 返回"HELLO"
    

    將字符串轉換為大寫。

字符串去空格

  1. trim()
    
    String str = "  Hello  ";
    String trimmedStr = str.trim(); // 返回"Hello"
    
    去除字符串兩端的空格。

字符串格式化

  1. format(String format, Object... args)
    
    String str = String.format("Hello, %s!", "World"); // 返回"Hello, World!"
    
    使用指定的格式字符串和參數格式化字符串。

字符串轉換為其他類型

  1. toCharArray()

    String str = "Hello";
    char[] charArray = str.toCharArray(); // 返回['H', 'e', 'l', 'l', 'o']
    

    將字符串轉換為字符數組。

  2. getBytes()

    String str = "Hello";
    byte[] byteArray = str.getBytes(); // 返回[72, 101, 108, 108, 111]
    

    將字符串轉換為字節數組。

  3. valueOf(Object obj)

    int num = 123;
    String str = String.valueOf(num); // 返回"123"
    

    將其他類型的對象轉換為字符串。

其他常用方法

  1. isEmpty()

    String str = "";
    boolean isEmpty = str.isEmpty(); // 返回true
    

    判斷字符串是否為空。

  2. contains(CharSequence s)

    String str = "Hello World";
    boolean contains = str.contains("World"); // 返回true
    

    判斷字符串是否包含指定的子字符串。

  3. startsWith(String prefix)

    String str = "Hello World";
    boolean startsWith = str.startsWith("Hello"); // 返回true
    

    判斷字符串是否以指定的前綴開頭。

  4. endsWith(String suffix)

    String str = "Hello World";
    boolean endsWith = str.endsWith("World"); // 返回true
    

    判斷字符串是否以指定的后綴結尾。

  5. matches(String regex)

    String str = "Hello";
    boolean matches = str.matches("H.*"); // 返回true
    

    判斷字符串是否匹配指定的正則表達式。

String類的不可變性

在Java中,String類是不可變的,這意味著一旦創建了一個字符串對象,它的內容就不能被改變。每次對字符串的操作(如連接、替換等)都會生成一個新的字符串對象,而原始的字符串對象保持不變。

例如:

String str = "Hello";
str = str + " World"; // 創建一個新的字符串對象

由于字符串的不可變性,頻繁的字符串操作可能會導致大量的臨時對象產生,從而影響性能。在這種情況下,可以使用StringBufferStringBuilder類來進行字符串操作。

StringBuffer和StringBuilder

StringBufferStringBuilder類是可變的字符串類,它們提供了與String類相似的方法,但允許對字符串進行修改而不生成新的對象。

  1. StringBuffer

    StringBuffer sb = new StringBuffer("Hello");
    sb.append(" World"); // 修改原字符串
    String str = sb.toString(); // 返回"Hello World"
    

    StringBuffer是線程安全的,適合在多線程環境下使用。

  2. StringBuilder

    StringBuilder sb = new StringBuilder("Hello");
    sb.append(" World"); // 修改原字符串
    String str = sb.toString(); // 返回"Hello World"
    

    StringBuilder不是線程安全的,但在單線程環境下性能更好。

總結

String類是Java中用于表示和操作字符串的核心類。它提供了豐富的方法來操作字符串,但由于其不可變性,頻繁的字符串操作可能會導致性能問題。在這種情況下,可以使用StringBufferStringBuilder類來進行字符串操作。理解String類及其相關類的使用方法,對于編寫高效的Java程序至關重要。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女