2014-01-29 82 views
1

是否有任何常用庫爲常用分隔符字符提供常量(如,;"),類似於StringUtils.SPACE/EMPTY/LF/CR特殊字符的常量?

+0

您想爲4-5字符串值的整個圖書館? –

+0

不,除了'apache.lang3'包含我寫空間,空,換行的常量。也許我錯過了什麼,任何常見的/ Apache的字符串util還包含分隔符字符? – membersound

+1

@membersound還有[System.lineSeparator()](http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#lineSeparator())。你可以使用任何東西作爲delmititer,所以你可以寫你的常量文件(如果你想要的話)。 –

回答

1

有名稱但不是常數。

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); } 
} 

的心中,還有一個枚舉有一個名字吸氣劑也爲「逗號」等

+1

現在是2017年。有沒有這樣的課程? – fatherazrael