查看原文
其他

Java 17 新特性:文本块

DD 程序猿DD 2022-06-01

大家好,我是DD,今天继续来学点Java的新特性!

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

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

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

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

一旦存在大量要转义内容的时候,也就增加了我们编写代码的复杂度。复杂度越高,我们就越容易犯错。所以,在Java 17中增加了一个新特性:文本块(Text Blocks),来帮助我们更便捷的实现多行字符串文字的处理。

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

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

好不好简单不少呢?如果没用过的话,赶紧操作试试看吧!另外,不要走开,关注我!持续更新Java新特性教程:https://www.didispace.com/java-features/ ,这次采用文档形式编写,阅读体验更佳!

我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取

推荐阅读

··································

你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。

点击领取2022最新10000T学习资料

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存