当你需要在 Java 中判断一个字符串是否是数字时,有多种方法可供选择。让我们来记录这两种常见的方法。
首先,我们可以使用 Character.isDigit() 方法来检查字符串中的每个字符是否都是数字。下面是代码示例:
javaCopy CodeString str = "12345";
boolean isDigit = true;
for (int i = 0; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) {
isDigit = false;
break;
}
}
if (isDigit) {
System.out.println(str + " 中的所有字符都是数字");
} else {
System.out.println(str + " 中包含非数字字符");
}
在上述代码中,我们使用 for 循环遍历字符串的每个字符,并使用 Character.isDigit() 方法检查它是否为数字。如果发现任何一个非数字字符,我们将 isDigit 设置为 false 并跳出循环。最后,根据 isDigit 的值输出相应的结果。
第二种方法是使用 Apache Commons Lang 库中的 StringUtils.isNumeric() 方法。首先,我们需要在项目的 Maven 配置文件(pom.xml)中引入 Apache Commons Lang 依赖:
xmlCopy Code<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
引入依赖后,我们可以直接调用 StringUtils.isNumeric() 方法来判断字符串是否是数字。以下是代码示例:
javaCopy Codeimport org.apache.commons.lang3.StringUtils;
String str = "12345";
boolean isNumeric = StringUtils.isNumeric(str);
if (isNumeric) {
System.out.println(str + " 中的所有字符都是数字");
} else {
System.out.println(str + " 中包含非数字字符");
}
在上述代码中,我们使用 StringUtils.isNumeric() 方法直接判断字符串是否由数字字符组成。根据返回的结果输出相应的信息。
这两种方法各有优劣,你可以根据具体情况选择适合你的需求。方法一较为简单,但需要手动遍历字符串;而方法二则更为方便,但需要引入外部依赖。
java一个类可以有多个构造方法,根据传参类型和个数来匹配执行哪个构造方法。public class Member { public Member(){  ...
Java5 引入了一种主要用于数组的增强型 for 循环,类似js中的for inpublic class Member { public static void main(String[]&...
(1).java获取当前日期时间Date date = new Date(); System.out.println(date.toString());输出Fri Jul 02 10:29:55 CST 2021(2).java获取时间戳秒/毫秒D...
java正则表达式的捕获组捕获组可以将匹配到的结果根据正则中的括号进行分组,这里变量我加了$符,php转java的坏习惯,懒得改了,能跑就行// 匹配字符串 String $line = "gaojiufeng 1994! ok?...
java匹配一个字符串在另外一个字符串中出现的次数,java正则start,java正则end// 正则 String pattern = "\\bgao\\b"; // 字符串 String content ...
假如有个字符串为"fatcatfatcatfat",正则为“cat”当调用appendReplacement(sb, "dog")时appendReplacement方法都会把匹配到的内容替换为dog,并把匹配到字符串的前面几个字符串+dog送给sb里,所以第...