如何精确使用 Character.isWhitespace() 判断控制台输入字符是否为空格或制表符?
- 内容介绍
- 相关推荐
本文共计615个文字,预计阅读时间需要3分钟。
Character.isWhitespace 能准确识别空白格、制表符、换行符、回车符等多种 Unicode 空白字符,但需注意:
它识别哪些字符?
该方法依据 Unicode 标准判定“空白”(whitespace),包括但不限于:
- 空格(U+0020)
- 水平制表符 '\t'(U+0009)
- 换行符 '\n'(U+000A)
- 回车符 '\r'(U+000D)
- 垂直制表符 '\u000B'
- 换页符 '\f'(U+000C)
- Unicode 中其他语义为空白的字符(如不间断空格 U+00A0、零宽空格 U+200B 等)
控制台输入时的关键细节
从控制台读取字符串(如用 Scanner.nextLine() 或 BufferedReader.readLine())时,换行符 '\n' 和回车符 '\r' 不会出现在返回的字符串中——它们被作为行结束符消耗掉了。
本文共计615个文字,预计阅读时间需要3分钟。
Character.isWhitespace 能准确识别空白格、制表符、换行符、回车符等多种 Unicode 空白字符,但需注意:
它识别哪些字符?
该方法依据 Unicode 标准判定“空白”(whitespace),包括但不限于:
- 空格(U+0020)
- 水平制表符 '\t'(U+0009)
- 换行符 '\n'(U+000A)
- 回车符 '\r'(U+000D)
- 垂直制表符 '\u000B'
- 换页符 '\f'(U+000C)
- Unicode 中其他语义为空白的字符(如不间断空格 U+00A0、零宽空格 U+200B 等)
控制台输入时的关键细节
从控制台读取字符串(如用 Scanner.nextLine() 或 BufferedReader.readLine())时,换行符 '\n' 和回车符 '\r' 不会出现在返回的字符串中——它们被作为行结束符消耗掉了。

