是否有任何通用库为常用的分隔符字符(如 ,;"
)提供常量,类似于 StringUtils.SPACE/EMPTY/LF/CR
?
最佳答案
有名称,但不是常量。
for (int cp = 32; cp < 48; ++cp) {
System.out.printf("%c : %s%n", cp, Character.getName(cp));
}
: SPACE
! : EXCLAMATION MARK
" : QUOTATION MARK
# : NUMBER SIGN
$ : DOLLAR SIGN
% : PERCENT SIGN
& : AMPERSAND
' : APOSTROPHE
( : LEFT PARENTHESIS
) : RIGHT PARENTHESIS
* : ASTERISK
+ : PLUS SIGN
, : COMMA
- : HYPHEN-MINUS
. : FULL STOP
/ : SOLIDUS
使用常量很麻烦,所以我认为没有人付出努力。
你可以自己做,也许使用上面的Character.getName生成枚举,用下划线替换名称中的空白。
enum Chars {
COMMA(','),
SEMICOLON(';'),
EXCLAMATION_SIGN('!');
private final int ch;
private static Map<Integer, Chars> map = new HashMap<>();
static {
for (Chars c : Chars.values()) {
map.put(c.ch, c);
}
}
private Chars(int ch) { this.ch = ch; }
public int toCodePoint() { return ch; }
public static Chars fromCodePoint(int cp) {
return map.get(cp);
}
@Override
public String toString() { return new String(new int[]{ ch }, 0, 1); }
}
请注意,枚举也有一个名称 getter ,用于“COMMA”等。
关于java - 特殊字符的常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21437180/