2014-01-29 5 views
1

Есть ли общая библиотека, которая предоставляет константы для часто используемых символов разделителя (например, ,;"), аналогично StringUtils.SPACE/EMPTY/LF/CR?Константы для специальных символов?

+0

Вы хотите целую библиотеку для 4-5 строковых значений? –

+0

Нет, но 'apache.lang3' содержит, поскольку я написал константы для пробела, empty, linefeed. Может быть, я что-то пропустил, и любая обычная/apache string 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

Смежные вопросы