How to Check if a String Contains only Digits in Java?

2025 年 5 月 7 日 | 阅读 3 分钟

在许多应用程序中,经常需要验证输入,以确保它只包含数字。处理用户输入、验证数据格式或确保字符串代表实际数字值可能很有帮助。在 Java 中,我们可以使用各种技术,包括正则表达式、流和基本迭代,来确定字符串是否完全由数字组成。在本文中,我们将探讨几种方法来确定 Java 中的字符串是否完全由数字组成。

示例 1

输入

String str = "123456"

输出

true

解释

给定的字符串仅包含数字字符。

示例 2

输入

String str = "007890"

输出

true

解释

字符串中唯一接受的数字字符是数字,包括前导零。

示例 3

输入

String str = ""

输出

false

解释

由于字符串为空,因此不满足仅包含数字的标准。

检查字符串是否仅包含数字的方法

  1. 使用正则表达式
  2. 使用遍历
  3. 使用 Arraylist.contains() 方法

1. 使用正则表达式

使用正则表达式是一种快速确定字符串是否完全由数字组成的方法。通过这种方式,我们将使用正则表达式来确定字符串是否符合仅包含数字的模式。虽然此方法比 Character.isDigit() 更复杂,但仍然相对简单易懂。

实施

文件名: CheckDigitsRegex.java

输出

 
true
false   

2. 使用遍历

此方法旨在检查字符串中的每个字符,看它是否只包含数字 0 到 9。如果字符串中的每个字符都是数字,则返回 true;否则,返回 false。

由于需要手动验证 ASCII 值,因此此方法的可读性不如 Character.isDigit(),但仍然有效。

实施

文件名: CheckDigitsTraversal.java

输出

 
true
false   

3. 使用 Arraylist.contains() 方法

使用此方法创建的数字(0 到 9)的 ArrayList 检查字符串中的每个字符是否存在。它比其他方法更复杂,效率也更低。

实施

文件名: CheckDigitsOnly.java

输出

 
true
false   

下一个主题JDBC 设计