Алфавит константы в Java?

у меня есть ситуация, когда мне нужно найти индекс Буквы в алфавите. В Python я мог бы использовать string.ascii_lowercase или string.ascii_uppercase. Есть ли что-то подобное в Java?

очевидно, я мог бы сделать:

private static char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray();

но после стольких Python, это заставляет меня задаться вопросом, если это встроено где-то.

2 ответов


вы можете получить индекс такой:

char lowercaseLetter = ...
int index = lowercaseLetter - 'a';

хотя я бы предпочел подход Колинда, когда он подходит, я просто хочу упомянуть, что Java на самом деле имеет какой-то API для этого. Это позволяет анализировать числа с радиусом до 36, которые используют 10 цифр от '0'-'9' и буквы 'a'-'z' для остальной части диапазона (в любом случае).

char letter = ...
int index = Character.digit( letter, 36 ) - 10;

и обратно

int index = ...
char ch = Character.forDigit( index + 10, 36 );

если вы действительно хотите использовать это для создания или разбора чисел radix 36, вы можете использовать Integer.parseInt и Integer.toString статический метод реализации, которые принимают параметр radix.