Skip to content
程序猿DD程序猿DD
主页
最新发布
Java新特性
玩转IDEA
旧版博客open in new window
社区交流open in new window
  • Java 18

    • 指定UTF-8为默认字符集
      • 简单Web服务器
        • 新增@snippet标签
        • Java 17

          • 密封类
            • switch的模式匹配(预览)
            • Java 16

              • record类
                • instanceof增强
                  • Stream转List增强
                    • Stream.toList()的性能比较
                    • Java 15

                      • 文本块
                        • 隐藏类
                        • Java 14

                          • switch表达式增强
                          • Java 13

                            • Java 12

                              • Java 11

                                • 移除JavaEE和CORBA模块
                                • Java 10

                                  • 局部变量的类型推断
                                  • Java 9

                                    • 交互式编程环境JShell
                                      • 不可变集合的快捷创建方法

                                      Java 15 新特性:文本块

                                      程序猿DD原创2022年4月29日
                                      • Java
                                      • Java 15
                                      大约 1 分钟

                                      # Java 15 新特性:文本块

                                      假设有这样一个场景,我们需要做一个工具。用来自动生成项目文档,文档可以通过浏览器查看,所以最后产出物肯定是一堆html文件。为了让这些html文件更容易读,良好的格式肯定要保持,该换行的换行、该缩进的缩进。

                                      那么,在组织最后内容的时候,你可能就会这样子来写:

                                      String html = 
                                          "<html>\n" +
                                          "<body>\n"+
                                          "  <h1>Java 15 新特性:文本块 | 程序猿DD</h1>\n"+
                                          "  <p>didispace.com</p>\n"+
                                          "</body>\n"+
                                          "</html>\n";
                                      

                                      当然,也许你也会改进一下,用StringBuilder或者StringBuffer来优化,但不论用什么来写,都逃不了一些要转义的内容,比如上面拼接内容时候的换行\n。

                                      一旦存在大量要转义内容的时候,也就增加了我们编写内容的复杂度。复杂度越高,我们就越容易犯错。

                                      所以,在Java 15中增加了一个新特性:文本块(Text Blocks),来帮助我们更便捷的实现多行字符串文字的处理。

                                      对于上面的字符串内容,Java 15中,我们只需要这样写:

                                      String html = """
                                          <html>
                                          <body>
                                            <h1>Java 15 新特性:文本块 | 程序猿DD</h1>
                                            <p>didispace.com</p>
                                          </body>
                                          </html>
                                          """;
                                      

                                      好不好简单不少呢?如果没用过的话,赶紧操作试试看吧!

                                      本期视频:https://www.bilibili.com/video/BV1du411k7Bp/open in new window

                                      如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群open in new window,参与交流与讨论,更好的学习与进步!另外,不要走开,关注我!持续更新Java新特性教程open in new window!

                                      上次编辑于: 2022/5/21 02:29:53
                                      贡献者: dd
                                      下一页
                                      隐藏类
                                      © 2016 - 2022 didispace.com 版权所有
                                      沪ICP备14037150号-3
                                      Copyright © 2022 程序猿DD