Java中的字母常量是什么?

8

我有一个需要在字母表中查找字母索引的情况。在Python中,我可以使用string.ascii_lowercasestring.ascii_uppercase。在Java中有类似的东西吗?

显然,我可以这样做:

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

但是经过这么多Python的学习,我开始怀疑是否有相关内置功能。

1
哪个字母表?当英语为母语的人们了解到非英语字母表时,通常会感到惊讶。 - Thorbjørn Ravn Andersen
我实际上并不将它用作字母表,我只是有一些基于26进制的“数字”(恰好是拉丁字母表)。 - Brendan Long
2个回答

11

你可以像这样获得索引:

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

好主意。我没有想到那个。 - Brendan Long

2

虽然我更喜欢ColinD的方法,但我想提一下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 );

如果您真的想使用此功能来创建或解析基数为36的数字,可以使用接受基数参数的Integer.parseIntInteger.toString静态方法实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接