Java中的字母常量?
我有一种情况需要在字母表中找到一个字母的索引。 在Python中,我可以使用string.ascii_lowercase
或string.ascii_uppercase
。 Java中有类似的东西吗?
显然我能做到:
private static char[] alphabet = "abcdefghijklmnopqrstuvwxyz".toCharArray();
但经过这么多Python之后,它让我想知道这是不是建在某个地方。
你可以得到这样的索引:
char lowercaseLetter = ... int index = lowercaseLetter - 'a';
虽然我更喜欢ColinD的方法,但我只想提一下Java实际上有这种API。 它允许您解析最大为36的数字,使用'0'-'9'
的10位数字和其余范围内的字母'a'-'z'
(在任何一种情况下)。
char letter = ... int index = Character.digit( letter, 36 ) - 10;
然后回来
int index = ... char ch = Character.forDigit( index + 10, 36 );
如果您确实想要使用它来创建或解析基数为36的数字,您可以使用带有基数参数的Integer.parseInt
和Integer.toString
静态方法实现。