检查String是否为数字而不将其转换为数字

0 java

我试图检查字符串是否为"0","1","2",...,"9"而不将字符串转换为数字.有什么建议?现在我正在为每个人做一个.equals(),这很难看.

Jon*_*eet 7

怎么样:

if (text.length() == 1 && text.charAt(0) >= '0' && text.charAt(0) <= '9')
Run Code Online (Sandbox Code Playgroud)

或者HashSet<String>使用您想要的每个值创建一个并使用contains.


ggr*_*ner 5

您可以使用正则表达式执行此操作.该模式\d应该有效,它意味着匹配一个数字.在Java中,你必须逃避反斜杠,以便它成为\\d.

String str = "4";

str.matches("\\d"); // true
Run Code Online (Sandbox Code Playgroud)