Java 15 新特性:文本块

Java36

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

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

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

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

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

一旦有大量内容需要逃避,就会增加内容编写的复杂性。复杂性越高,我们犯错误的可能性就越大。

[En]

Once there is a lot of content to escape, it increases the complexity of writing the content. The higher the complexity, the more likely we are to make mistakes.

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Java

java 静态代码块 静态方法

(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程...
Java

微服务入门之Gateway

一、简介 1、zuul 和 gateway的缘起 zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器,提供动态路由、监视、弹性、安全性等功能的边缘服务。在gateway出来之前,zu...
Java

SpringMVC(2)-注解开发MVC

项目目录 一.创建maven项目,添加web支持,在pom.xml问价引入一下代码 <build> <resources> <resource> <direc...
Java

RabitMQ 发布确认

每日一句 军人天生就舍弃了战斗的意义! 概述 RabitMQ 发布确认,保证消息在磁盘上。 前提条件 1。队列必须持久化 队列持久化 2。队列中的消息必须持久化 消息持久化 使用 三种发布确认的方式:...
Java

ucore操作系统学习(五) ucore lab5用户进程管理

ucore在lab4中实现了进程/线程机制,能够创建并进行内核线程的调度。通过上下文的切换令线程分时的获得CPU,使得不同线程能够并发的运行。 在lab5中需要更进一步,实现我们平常开发接触到的、运行...
Java

再见了Antirez永远的Redis之神

其实antirez(Redis作者)退出Redis维护一发布我就在很多咨询网站上面看到了,当时也没太多感慨。 今天比较有空想去看看霉霉Twitter的,然后看到了antirez,我就又一次回顾了他的退...
Java

SSM简单整合!!!

3. 在maven中添加依赖 ```xml org.mybatis mybatis-spring 2.0.7 org.springframework spring-jdbc 5.3.2 org.myb...