报告 "\s" 转义序列在除文本块行结尾以外的任何位置或在多个空格的序列内的用法。 "\s" 转义序列用于在文本块行末尾编码一个空格,其中,普通空格将被修剪。 在其他位置,以及在常规字符串文字中,"\s" 与普通空格字符 (" ") 相同。 使用 "\s" 会造成困惑,并且可能出错,尤其是在将字符串解释为正则表达式的情况下。

示例:


  if (str.matches("\s+")) {...}
在这里,"\\s+" 可能是有意为之(以匹配任何空白字符)。 如果不是,使用 str.matches(" +") 则不那么容易造成困惑。

提供的快速修复只是将 \s 替换为空格字符。

仅当项目或模块的语言级别为 15 或更高时,此检查才会报告。

2022.3 最新变化