Java 15 新特性:文本块
友情提示
推荐您使用 Chrome 浏览器来阅读本实战专栏,其他浏览器可能存在兼容性问题。
1. Java 15 之前拼接字符串
在 JDK 15 之前,如果我们想拼接多行字符串,需要通过 +
号来完成,使用过的童鞋都知道,非常非常不优雅。如下面这段,截取自星球上个项目 中的示例代码,用户发布评论后,发送邮件通知功能,需要拼接邮件内容的 HTML
代码:
public static void main(String[] args) {
// 拼接 HTML
String html = "<html><body>" +
"<h2>你的评论:</h2><p>%s</p>" +
"<h2>审核未通过原因:</h2><p>%s</p>" +
"<p><a href='%s' target='_blank'>查看详情</a></p>" +
"</body></html>";
// 输出的字符串
String output = String.format(html, "xxx", "包含敏感词", "https://www.quanxiaoha.com");
// 打印输出到控制台
System.out.println(output);
}
2. Java 15 之后拼接字符串
在 Java 15 之后,支持通过 """
三个双引号,文本块语法来书写,代码如下:
public static void main(String[] args) {
// 拼接 HTML
String html = """
<html>
<body>
<h2>你的评论:</h2>
<p>%s</p>
<h2>审核未通过原因:</h2>
<p>%s</p>
<p><a href='%s' target='_blank'>查看详情</a></p>
</body>
</html>
""";
// 输出的字符串
String output = String.format(html, "xxx", "包含敏感词", "https://www.quanxiaoha.com");
// 打印输出到控制台
System.out.println(output);
}
}
可以明显感觉出来,代码优雅了很多,也更好维护了~
3. 相关转义符
另外,文本块还支持添加转义符。
3.1 合并行转义符:\
通过添加 \
合并行转义符,可以让指定的两行合并到同一行中,如下图所示:
执行后,控制台输出如下:
3.2 空格转义符:\s
通过添加 \s
转义符,可以指定某个位置空一格,代码如下:
执行后,控制台输出如下: