2

在openjdk版本“15”上试过了 2020-09-15

遵循简单的路线

String str = "\s";

根据转义字符列表的官方文档,未定义 \s 。

当我使用 maven 在命令行上编译时,Spring 工具套件不会显示 '\s' 的编译错误。任何其他字符,如 \p 都会导致与官方文档匹配的以下错误。

无效的转义序列(有效的是 \b \t \n \f \r " ' \ )

为什么java编译器不抱怨\s?在控制台上打印结果字符串表明它正在输出空格字符(0x20),所以看起来它正在识别它,但只是没有记录。

4

2 回答 2

6

这是 Java 15 中的新转义序列:
https ://docs.oracle.com/en/java/javase/15/text-blocks/index.html

您链接到的教程适用于 Java 8,但您使用的是 JDK 15。

于 2021-09-14T21:07:10.970 回答
1

\sString#translateEscapes文档中指定的 Java SE 15 中的有效转义序列:

在此处输入图像描述

您提到的错误消息绝对是一个错误。

于 2021-09-14T21:36:43.790 回答