Java 文本块:多行字符串的优雅写法
学习使用文本块(Text Block)在代码中嵌入 HTML、JSON 或 SQL 等多行文本,摆脱转义困扰。 · 难度:入门 · +15XP
文本块简介
Java 13 预览、Java 15 正式引入文本块,用三个双引号 """ 包裹多行字符串,自动处理缩进和换行,无需大量转义。
基本语法
String json = """
{
"name": "Alice",
"age": 30,
"city": "北京"
}
""";注意:开始标记 """ 后面必须换行,结束标记 """ 的位置决定公共缩进量。
常见应用场景
// HTML片段
String html = """
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>
""";
// SQL查询
String sql = """
SELECT id, name, email
FROM users
WHERE status = 'active'
ORDER BY name
""";
转义处理
| 转义序列 | 作用 |
|---|---|
| \s | 强制保留一个空格 |
| \ | 行尾反斜杠表示续行(不换行) |
| / \t | 仍然可用 |
注意事项
- 文本块在编译期被处理为 String 实例,性能无损失。
- 结束引号前的缩进决定公共前缀,每行都会去掉该前缀。
- 文本块只适合静态文本,动态拼接仍用 + 或 StringBuilder。
练习提示
在 starter_code 中,使用文本块定义一个包含姓名、年龄的 JSON 字符串,并打印出来。