Java 多行字符串

Mehvish Ashiq 2023年1月30日 2022年4月27日
  1. Java 多行字符串的各种方法
  2. 在 Java 中对多行字符串使用 Text Blocks
  3. 在 Java 中使用 + 表示多行字符串
  4. 在 Java 中对多行字符串使用 getProperty()concat() 函数
  5. 在 Java 中使用 String 类的 format() 方法处理多行字符串
  6. 在 Java 中使用 String 类的 join() 方法处理多行字符串
  7. 使用 StringBuilder 类的 append() 方法用于 Java 中的多行字符串
Java 多行字符串

我们旨在探索适用于 Java 多行字符串的不同方法。我们还将看到哪种方法适合字符串数组。

Java 多行字符串的各种方法

我们有不同的方法来实现在 java 中编写多行字符串的目标。所有这些都在下面列出,你可以根据你的项目需求使用它们中的任何一个。

  1. 使用文本块(三个双引号""")。
  2. 使用+ 号。
  3. 使用 getProperty()concat() 方法。
  4. 使用 String 类的 format() 方法。
  5. 使用 String 类的 join() 方法。
  6. 对字符串数组使用 StringBuilder()

在 Java 中对多行字符串使用 Text Blocks

示例代码:

public class MainClass {
    public static void main(String args[]) {

        String str = """
        This is line one.
        This is line two.
        This is line three.
        This is line four.
        This is line five.
        """;

        System.out.println(str);
   }
}

输出:

This is line one.
This is line two.
This is line three.
This is line four.
This is line five.

Java 15 带来了一种使用 Text Blocks 编写多行字符串的新方法,如果启用了预览功能,我们也可以在 Java 13 和 14 中使用它。使用 Text Blocks 的主要优点是我们不需要指定转义序列和连接运算符。

它还读取空格并将它们添加到输出中。你可能会发现在插入代码块时使用 Text Blocks 很有用,因为它通过读取空格来缩进标签。

示例代码:

public class MainClass {
    public static void main(String args[]) {

        String str = """
        <html>
            <head>
                <title> Learning Java Multiline Strings </title>
            </head>
            <body>
                <h1> Java Multiline String </h1>
            </body>
        </html>
        """;

        System.out.println(str);
    }
}

输出:

<html>
    <head>
        <title> Learning Java Multiline Strings </title>
    </head>
    <body>
        <h1> Java Multiline String </h1>
    </body>
</html>

在 Java 中使用 + 表示多行字符串

示例代码:

public class MainClass {
    public static void main(String args[]) {
        String str = "This is line one. \n" +
                     "This is line two. \n" +
                     "This is line three. \n" +
                     "This is line four. \n" +
                     "This is line five. \n";
        System.out.println(str);
  }
}

输出:

This is line one.
This is line two.
This is line three.
This is line four.
This is line five.

我们编写多个字符串(每行一个字符串)并用 + 符号连接它们。在关闭每个字符串之前,我们还使用 \n 指定一个新行。

如果我们在多行上键入字符串但忘记写\n(用于新行),输出将如下所示。

输出:

This is line one.This is line two.This is line three.This is line four.This is line five.

在 Java 中对多行字符串使用 getProperty()concat() 函数

示例代码:

public class MainClass {
    public static void main(String args[]) {

        String newLine = System.getProperty("line.separator");
        String str = "This is line one."
                     .concat(newLine)
                     .concat("This is line two.")
                     .concat(newLine)
                     .concat("This is line three.")
                     .concat(newLine)
                     .concat("This is line four.")
                     .concat(newLine)
                     .concat("This is line five.");

        System.out.println(str);
    }
}

输出:

This is line one.
This is line two.
This is line three.
This is line four.
This is line five.

我们可以使用 java.lang.System 类的方法 getProperty() 来获取 Java 编程中的行分隔符。getProperty() 方法获取属性的键并返回系统属性,由给定键表示(作为参数传递)。

此外,我们使用 concat() 方法将一个字符串附加到另一个字符串的末尾。在这里,它将新行与第一个字符串连接起来,然后将第二个字符串与新行连接起来,依此类推。

在 Java 中使用 String 类的 format() 方法处理多行字符串

示例代码:

public class MainClass {
    public static void main(String args[]) {
        String str = String.format("%s\n%s\n%s\n%s\n%s\n",
                                 "This is line one.",
                                 "This is line two.",
                                 "This is line three.",
                                 "This is line four.",
                                 "This is line five.");
        System.out.println(str);
    }
}

输出:

This is line one.
This is line two.
This is line three.
This is line four.
This is line five.

在这种情况下,我们使用 format() 方法来格式化指定的字符串。虽然它工作得很好,但我们不推荐这个功能,因为它很难管理和保持%s\n 的计数。

在 Java 中使用 String 类的 join() 方法处理多行字符串

示例代码:

public class MainClass {
    public static void main(String args[]) {
        String str = String.join("\n",
                                 "This is line one.",
                                 "This is line two.",
                                 "This is line three.",
                                 "This is line four.",
                                 "This is line five.");
        System.out.println(str);
    }
}

输出:

This is line one.
This is line two.
This is line three.
This is line four.
This is line five.

join() 方法似乎比 format() 方法更干净。join() 方法使用给定的分隔符连接给定的字符串。

我们使用 \n 作为本教程的分隔符。你可以使用逗号、句号或其他任何你想要的东西。

使用 StringBuilder 类的 append() 方法用于 Java 中的多行字符串

示例代码:

public class MainClass {
    public static void main(String args[]) {

        String newLine = System.getProperty("line.separator");
        StringBuilder string = new StringBuilder();

        String array[] = {
            "This is line one.",
            "This is line two.",
            "This is line three.",
            "This is line four.",
            "This is line five."
        };

        for(int i=0 ; i < array.length ; i++){
            string.append(array[i]);
            string.append(newLine);
        }

        System.out.println(string.toString());
    }
}

输出:

This is line one.
This is line two.
This is line three.
This is line four.
This is line five.

如果我们使用字符串数组,StringBuilder 类非常有用。它用于可修改(可变)的字符串。

然后,我们使用 append() 方法来追加驻留在数组中的字符串。最后,我们使用将任何对象转换为字符串的 toString() 方法在屏幕上打印字符串。

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

相关文章 - Java String