Java 字符串跨行

2026-01-30 09:01:38

在 Java 中实现字符串跨行有以下几种常用方法,可根据不同场景选择:


一、使用文本块(Text Blocks,Java 13+ 推荐)

语法:用三个双引号 """ 包裹多行内容,自动处理换行和缩进。
特点:代码简洁,无需手动添加换行符 \n,自动保留内容格式。
示例

String text = """
      第一行内容
      第二行内容
      第三行内容
      """;
  System.out.println(text);

输出

第一行内容
  第二行内容
  第三行内容

适用场景:长字符串(如 SQL、HTML、JSON)、多行文本直接嵌入代码时。


二、传统拼接方式

1. 字符串连接符 + + 换行符 \n

语法:通过 + 连接多行字符串,手动添加 \n 实现换行。
示例

String text = "第一行内容\n" +
                "第二行内容\n" +
                "第三行内容";

注意\n 在 Windows 中可能需用 \r\n,跨平台建议用 System.lineSeparator()

2. StringBuilder/StringBuffer 拼接

语法:动态拼接多行字符串,适合循环或条件生成内容。
示例

StringBuilder sb = new StringBuilder();
  sb.append("第一行内容");
  sb.append(System.lineSeparator());
  sb.append("第二行内容");
  String text = sb.toString();

优点:性能优于 + 拼接,尤其在高频操作时。


三、其他方法

1. String.join() + 换行符

语法:用 String.join() 拼接数组元素,分隔符为换行符。
示例

String[] lines = {"第一行", "第二行", "第三行"};
  String text = String.join(System.lineSeparator(), lines);

适用场景:已有字符串数组需合并为多行文本。

2. 文件读取

语法:直接读取文件内容为多行字符串。
示例

String text = new String(Files.readAllBytes(Paths.get("file.txt")));

优点:保留文件原始格式,适合长文本处理。


四、方法对比

方法 优点 缺点 适用场景
文本块 代码简洁,自动处理格式 仅支持 Java 13+ 静态多行文本
+ + \n 兼容所有版本 代码冗长,需手动处理换行符 简单多行字符串
StringBuilder 高效动态拼接 代码稍复杂 动态生成内容
String.join() 简洁合并数组元素 依赖数组输入 数组合并为多行文本

五、最佳实践建议

  1. 优先文本块:若使用 Java 13+,文本块是最优解。
  2. 跨平台换行:用 System.lineSeparator() 替代硬编码 \n
  3. 性能敏感场景:高频拼接时选择 StringBuilder

通过上述方法,可灵活实现 Java 中字符串的跨行处理。