为什么 java 编译器不抱怨“\s”?
Why is java compiler not complaining about "\s"?
在 openjdk 版本“15”2020-09-15 上试用
下面的简单行
String str = "\s";
根据list of escape characters的官方文档,\s没有定义。
Spring 工具套件不显示 '\s' 的编译错误,当我使用 maven 在命令行上编译时也不显示。任何其他字符如 \p 都会导致以下与官方文档匹配的错误。
Invalid escape sequence (valid ones are \b \t \n \f \r " ' \ )
为什么 java 编译器不抱怨 \s?在控制台上打印结果字符串表明它正在输出 space 字符 (0x20),看起来它正在识别它,但只是没有记录。
这是 Java15 中的新转义序列:
https://docs.oracle.com/en/java/javase/15/text-blocks/index.html
您链接的教程适用于 Java 8,但您使用的是 JDK 15。
\s
是 Java SE 15 中的有效转义序列,如 String#translateEscapes
文档所述:
您提到的错误消息肯定是一个错误。
在 openjdk 版本“15”2020-09-15 上试用
下面的简单行
String str = "\s";
根据list of escape characters的官方文档,\s没有定义。
Spring 工具套件不显示 '\s' 的编译错误,当我使用 maven 在命令行上编译时也不显示。任何其他字符如 \p 都会导致以下与官方文档匹配的错误。
Invalid escape sequence (valid ones are \b \t \n \f \r " ' \ )
为什么 java 编译器不抱怨 \s?在控制台上打印结果字符串表明它正在输出 space 字符 (0x20),看起来它正在识别它,但只是没有记录。
这是 Java15 中的新转义序列:
https://docs.oracle.com/en/java/javase/15/text-blocks/index.html
您链接的教程适用于 Java 8,但您使用的是 JDK 15。
\s
是 Java SE 15 中的有效转义序列,如 String#translateEscapes
文档所述:
您提到的错误消息肯定是一个错误。