Java 14相关
关于文本块
温馨提示: 目前仅IDEA 2020.1 EAP及以上版本支持Java 14中所有新增功能.因此请使用最新版本(目前链接到2020.1 EAP版本,发布正式版之后,可在稳定版中下载.)!~
关于文本块的介绍,请查看这篇文章.
Java 14 在Java 13文本块的基础上,增加了两个转义序列: \ 和 \s .
新增加的转义序列
- \ : 用来放在行尾禁止插入换行符;
- \s : 可以用来插入一个空格
普通文本块
例子:
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条评论