Java 14:文本块(第二预览)

Java 14相关

关于文本块

温馨提示: 目前仅IDEA 2020.1 EAP及以上版本支持Java 14中所有新增功能.因此请使用最新版本(目前链接到2020.1 EAP版本,发布正式版之后,可在稳定版中下载.)!~

关于文本块的介绍,请查看这篇文章.

Java 14 在Java 13文本块的基础上,增加了两个转义序列: \ 和 \s .

新增加的转义序列

  • \ : 用来放在行尾禁止插入换行符;
  • \s : 可以用来插入一个空格

java标志
image-3122

普通文本块

例子:


1
2
3
4
5
6
7
var code = """
public void print($type o){
System.out.println(Objects.toString(o));
}
""".replace("$type", "abc");

// 输出: "public void print(abc o){\n System.out.println(Objects.toString(o));\n}\n"

 

会看到输出中包含了换行符 \n .

去掉换行符


1
2
3
4
5
6
var code = """
public void print($type o){\
System.out.println(Objects.toString(o));\
}\
""".replace("$type", "abc");
// 输出 "public void print(abc o){ System.out.println(Objects.toString(o));}"

 

会发现换行符已经被去掉了.另外,文本块结尾也没有任何空格了.

增加空格


1
2
3
4
5
6
var code = """
public void print($type o){\
Sy\stem.out.println(Objects.toString(o));\
}\
""".replace("$type", "abc");
// 输出: "public void print(abc o){ Sy tem.out.println(Objects.toString(o));}"

 

输出中,去掉了换行符.但是在System的Sy后面增加了一个空格(使用\s).可以看到输出里面明显增加了一个空格.

《Java 14:文本块(第二预览)》上有3条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据