告別StringUtil:使用Java全新String API最佳化你的程式碼

不一樣的科技宅發表於2023-04-23

前言

  Java程式語言的每一次重要更新,都引入了許多新功能和改進。 並且在String 類中引入了一些新的方法,能夠更好地滿足開發的需求,提高程式設計效率。

  1. repeat(int count):返回一個新的字串,該字串是由原字串重複指定次數形成的。
  2. isBlank():檢查字串是否為空白字元序列,即長度為 0 或僅包含空格字元的字串。
  3. lines():返回一個流,該流由字串按行分隔而成。
  4. strip():返回一個新的字串,該字串是原字串去除前導空格和尾隨空格後形成的。
  5. stripLeading():返回一個新的字串,該字串是原字串去除前導空格後形成的。
  6. stripTrailing():返回一個新的字串,該字串是原字串去除尾隨空格後形成的。
  7. formatted(Object... args):使用指定的引數格式化字串,並返回格式化後的字串。
  8. translateEscapes():將 Java 轉義序列轉換為相應的字元,並返回轉換後的字串。
  9. transform() 方法:該方法用於將字串轉換為另一種編碼格式。

示例

1. repeat(int count)

public class StringRepeatExample {
    public static void main(String[] args) {
        String str = "abc";
        String repeatedStr = str.repeat(3);
        System.out.println(repeatedStr);
    }
}

輸出結果:

abcabcabc

2. isBlank()

public class StringIsBlankExample {
    public static void main(String[] args) {
        String str1 = "";
        String str2 = " ";
        String str3 = "  \t  ";

        System.out.println(str1.isBlank());
        System.out.println(str2.isBlank());
        System.out.println(str3.isBlank());
    }
}

輸出結果:

true
true
true

3. lines()

import java.util.stream.Stream;

public class StringLinesExample {
    public static void main(String[] args) {
        String str = "Hello\nWorld\nJava";
        Stream<String> lines = str.lines();
        lines.forEach(System.out::println);
    }
}

輸出結果:

Hello
World
Java

4. strip()

public class StringStripExample {
    public static void main(String[] args) {
        String str1 = "  abc   ";
        String str2 = "\t def \n";
        System.out.println(str1.strip());
        System.out.println(str2.strip());
    }
}

輸出結果:

abc
def

5. stripLeading()

public class StringStripLeadingExample {
    public static void main(String[] args) {
        String str1 = "  abc   ";
        String str2 = "\t def \n";
        System.out.println(str1.stripLeading());
        System.out.println(str2.stripLeading());
    }
}

輸出結果:

abc
def

6. stripTrailing()

public class StringStripTrailingExample {
    public static void main(String[] args) {
        String str1 = "  abc   ";
        String str2 = "\t def \n";
        System.out.println(str1.stripTrailing());
        System.out.println(str2.stripTrailing());
    }
}

輸出結果:

abc
def

7. formatted(Object... args)

public class StringFormattedExample {
    public static void main(String[] args) {
        String str = "My name is %s, I'm %d years old.";
        String formattedStr = str.formatted( "John", 25);
        System.out.println(formattedStr);
    }
}

輸出結果:

My name is John, I'm 25 years old.

8. translateEscapes()

public class StringTranslateEscapesExample {
    public static void main(String[] args) {
        String str = "Hello\\nWorld\\tJava";
        String translatedStr = str.translateEscapes();
        System.out.println(translatedStr);
    }
}

輸出結果:

Hello
World   Java

9. transform()

public class StringTransformExample {
    public static void main(String[] args) {
        String str = "hello world";
        byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
        String newStr = new String(bytes, StandardCharsets.ISO_8859_1);
        System.out.println(newStr);
    }
}

輸出結果:

hello world

  在這個示例中,我們將字串 "hello world" 從 UTF-8 編碼轉換為 ISO-8859-1 編碼,然後將結果輸出到控制檯上。由於這兩種編碼格式的字符集不同,因此轉換後的字串的結果可能與原始字串不同。

結尾

  如果覺得對你有幫助,可以多多評論,多多點贊哦,也可以到我的主頁看看,說不定有你喜歡的文章,也可以隨手點個關注哦,謝謝。

  我是不一樣的科技宅,每天進步一點點,體驗不一樣的生活。我們下期見!

相關文章