Character.isDigit(string.charAt(0))
请注意,这将允许使用 任何
Unipre数字,而不仅仅是0-9。您可能更喜欢:
char c = string.charAt(0);isDigit = (c >= '0' && c <= '9');
或较慢的正则表达式解决方案:
s.substring(0, 1).matches("\d")// or the equivalents.substring(0, 1).matches("[0-9]")但是,使用这些方法中的任何一种,必须首先确保该字符串不为空。如果是,
charAt(0)而且
substring(0,1)将引发
StringIndexOutOfBoundsException。
startsWith没有这个问题。
要使整个条件只占一行,并避免长度检查,可以将正则表达式更改为以下内容:
s.matches("\d.*")// or the equivalents.matches("[0-9].*")如果条件没有出现在程序的紧密循环中,则使用正则表达式对性能的影响很小。



