Java 长字符串处理的 5 种实用技巧
在编写 Java 程序时,定义超长字符串常量可能会触发编译器报错'常量字符串过长'。Java 编译器对单行字符串字面量有长度限制(约 65535 字符)。针对这一问题,以下是 5 种简单实用的解决方法。
1. 字符串拼接法
这是最直观的解决方案。将长文本拆分成多行,每行用双引号包裹,最后用加号连接。这样既保持了代码可读性,又避免了编译错误。
String longStr = "第一部分" +
"第二部分" +
"第三部分";
2. 使用 StringBuilder
当需要动态构建长字符串时,StringBuilder 是最佳选择。它不会像普通字符串拼接那样产生大量临时对象,特别适合在循环中构建字符串。
StringBuilder sb = new StringBuilder();
sb.append("内容 1");
sb.append("内容 2");
String result = sb.toString();
3. 文本文件读取法
如果字符串内容特别长(比如大段 HTML 模板),建议将内容保存到文本文件中,然后通过 Java 的文件读取 API 加载。记得把文本文件放在 resources 目录下。
// 伪代码示例
BufferedReader reader = new BufferedReader(new FileReader("path/to/file.txt"));
// 读取逻辑...
4. 多行文本块(Java 15+)
Java 15 引入的多行文本块语法(三个双引号)可以优雅地处理长字符串。虽然它本质上还是会被编译器转换为普通字符串,但语法上允许直接书写多行内容,自动处理换行和缩进。
String html = """
<html>
<body>Hello</body>
</html>
""";
5. 字符串数组拼接
将长字符串拆分成字符串数组,然后通过循环拼接。这种方法在需要分段处理字符串时特别有用。可以用 Arrays.stream() 配合 collect() 实现优雅拼接。

