Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有一个这样的实用功能 -
public static boolean isABlankSpace(char c) { // returns true if the char c is rendered as a blank space }
我目前的实现只做-
if(c == ' ') { return true; }
但我意识到许多其他 ASCII 代码可以呈现为空白。那么这些ASCII码是什么?这将如何改变我的实施?
你可以使用:
Character.isWhitespace(c);
这是一个内置的实用方法。它的作用细节在javadoc中。请注意,它也会为换行符(等)返回\ntrue \r。
\n
\r
我将再添加2个:
制表符 \t
和
零宽度空间:
http://en.wikipedia.org/wiki/Zero-width_space
Character.isSpaceChar(c);
如果字符是以下任何一种,则返回 true:
SPACE_SEPARATOR LINE_SEPARATOR PARAGRAPH_SEPARATOR
文档
为避免其他字符被解释为空格字符,您可以转换为 ASCII:
int j = (int) c; if(j == 32) return true;
但当然要考虑 unicode 构建。
我很好奇是否可以a<b<c在不使用标准的情况下将其用作条件a<b and b<c。所以我试了一下,我的测试结果通过了。
a<b<c
a<b and b<c
a = 1 b = 2 c = 3 assert(a<b<c) # In bounds test assert(not(b<a<c)) # Ou