其他
Java 17 新特性:文本块
大家好,我是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/ ,这次采用文档形式编写,阅读体验更佳!
推荐阅读
你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。