文本块(Text Block)
Java 13 引入了文本块(Text Block),用三个双引号 """ 来表示多行字符串。终于不用再写一堆 \n 和拼接了。
我之前写 SQL 语句的时候,每次都要这样:
有了文本块,终于可以这样写了:
今天我们来把文本块彻底讲透。
一、基础语法
1.1 基本使用
1.2 与普通字符串的区别
二、自动去除缩进
2.1 缩进处理规则
文本块会自动去除"左侧公共缩进":
2.2 行首缩进决定基准线
2.3 避免意外缩进
三、转义字符
3.1 基本转义
3.2 不必要的转义
3.3 需要转义的情况
3.4 \s 转义
四、格式化
4.1 formatted 方法
4.2 使用占位符
4.3 localize 方法
五、【直观类比】
【直观类比】
文本块就像 Markdown 代码块:
代码内容
""" 代码内容 """
6.2 SQL
6.3 HTML/XML
6.4 正则表达式
七、注意事项
7.1 行末空格
7.2 性能
八、面试追问链
第一层:基础概念
面试官问:"文本块是什么?"
Java 13 引入的特性,用 """ 表示多行字符串,自动处理换行和缩进,比普通字符串更易读。
第二层:缩进规则
面试官问:"文本块的缩进是怎么处理的?"
JVM 自动去除内容行的左侧公共缩进,以最左边的非空格字符为基准。
第三层:实际应用
面试官问:"你在项目里用过文本块吗?"
可以提到用于 SQL、JSON、HTML 等多行字符串场景,避免大量 \n 和字符串拼接。
【学习小结】
- 文本块用
"""表示多行字符串 - 自动去除左侧公共缩进
- 支持
\n、\t等转义字符 - 支持
formatted()格式化 - 适合 SQL、JSON、HTML 等场景