为什么Java编译器未对\s转义序列抛出编译错误?
为什么JDK 15编译
\s转义序列不会报错 \s是Java 15版本正式纳入语言规范的合法转义序列,你参考的转义字符列表为旧版Java文档内容,仅覆盖Java 14及更早版本的转义规则,因此没有收录该转义符。- 该转义序列的定义就是对应ASCII空格字符(0x20),主要是为了解决文本块场景下尾部空格难以显式标识、容易被意外删除的问题,你运行后输出空格属于完全符合预期的行为。
- 你测试的
\p不属于任何Java版本的合法转义序列,因此会触发编译报错,报错信息中列出的合法转义序列没有更新\s属于提示文案的滞后问题,不影响实际编译规则的生效。
无效的转义序列(合法的转义序列为 \b \t \n \f \r " ' \ )
内容的提问来源于stack exchange,提问作者user871199
相关产品推荐
相关产品推荐

