模板字符串用反引号包裹,天然支持多行、内嵌变量、保留原始格式,并支持标签函数。如第一行第二行、${name}、正则表达式及safeHtml<div>${userInput}</div>等。

模板字符串用反引号(`)包裹,天然支持多行文本,无需拼接或转义,写法更直观、维护性更强。
直接换行,无需连接符
传统字符串必须用加号(+)或数组 join 拼接多行,易出错且难阅读。模板字符串允许直接回车换行,缩进和空格都会被保留为字面量内容。
- ✅ 正确写法:`第一行
第二行
第三行` - ❌ 避免写法:"第一行 " + "第二行 " + "第三行"
内嵌变量与表达式更自然
在多行结构中插入变量时,不用反复退出字符串,用 ${} 即可无缝嵌入,逻辑清晰,不易漏掉引号或加号。
- 例如生成 HTML 片段:
`<div class="user">
<h2>${name}</h2>
<p>年龄:${age}</p>
</div>` - 对比旧写法:需大量引号、加号、转义,极易出错
保留原始格式,适合配置和说明文本
写 SQL 查询、正则表达式、帮助文档等需要严格格式的文本时,反引号能完整保留缩进、换行和空格,避免因字符串处理引入意外空白或截断。
立即学习“Java免费学习笔记(深入)”;
- 如多行正则:
`^[a-zA-Z0-9._%+-]+
@
[a-zA-Z0-9.-]+
\.[a-zA-Z]{2,}$` - 注意:若不希望保留缩进,可用
.trim()或带标签函数处理
支持标签函数,拓展性强
反引号是唯一能触发标签函数的语法。结合多行能力,可实现 HTML 转义、SQL 参数化、国际化等高级功能,让多行文本不只是“看起来舒服”,还能安全执行。
- 示例:safeHtml`<div>${userInput}</div>` 自动转义
- 标签函数接收字符串数组和插值参数,便于统一处理每一段内容


















