`
huyuchengus
  • 浏览: 48231 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java 中怎样判断一个字符串全是数字

阅读更多
可以使用正则表达式:
public boolean isNumeric(String str) {
		Pattern pattern = Pattern.compile("[0-9]*");
		Matcher isNum = pattern.matcher(str);
		if (!isNum.matches()) {
			return false;
		}
		return true;
	}
但是这个方法并不安全,没有对字符串进行空校验。

在程序执行的时候很容易抛出异常。

例如我们执行:
public static void main(String[] args) {
	
		String str = null;
		System.out.println(BarcodeChecksum.INSTANCE.isNumeric(str));

	}
就会抛出异常:
Exception in thread "main" java.lang.NullPointerException
	at java.util.regex.Matcher.getTextLength(Matcher.java:1140)
	at java.util.regex.Matcher.reset(Matcher.java:291)
	at java.util.regex.Matcher.<init>(Matcher.java:211)
	at java.util.regex.Pattern.matcher(Pattern.java:888)
	at com.ossez.bcu.util.BarcodeChecksum.isNumeric(BarcodeChecksum.java:37)
	at com.ossez.bcu.util.BarcodeChecksum.main(BarcodeChecksum.java:53)
所以这个方法并不准确。

如果执行:
public static void main(String[] args) {
	
		String str = "";
		System.out.println(BarcodeChecksum.INSTANCE.isNumeric(str));

	}
将会返回 true。

这说明这个方法没有对空字符串进行校验。

可以使用 Apache 的 StringUtils.isNumeric() 函数进行判断。

这个函数位于 org.apache.commons.lang.StringUtils;  中。

但是,需要注意,如果传入参数为 "" 同样也会你存在判断不准确的情况,这时候需要首先对需要进行判断的参数进行非空校验,然后删除传入数据中的空格。
public static void main(String[] args) {
		String str = "";
		System.out.println(StringUtils.isNumeric(str));
	}
上面这个函数将会返回 true。

请先 trim 数据。

Java 中怎样判断一个字符串全是数字
http://www.ossez.com/forum.php?mod=viewthread&tid=15387&fromuid=426
分享到:
评论

相关推荐

    java基础-给出一个随机字符串,判断有多少字母?多少数字?

    Java基础-判断随机字符串中的字母和数字 Java是一种广泛应用于软件开发的编程语言,而字符串处理是Java开发中的一项基本操作。在实际开发中,我们经常需要对字符串进行处理和判断,例如判断字符串中有多少字母、...

    判断一个字符串或字符串中的一个字符是否为数字类型

    在编程领域,判断一个字符串或字符串中的一个字符是否为数字类型是常见的操作,尤其是在处理用户输入、数据分析或者格式验证时。下面将详细讲解几种不同语言中实现这一功能的方法,以及如何确保判断的安全性和效率。...

    判断字符串是否为数字

    3. **逻辑判断**:对于字符串中的每个字符,如果发现任何一个字符不是数字,则立即返回 `false`,表示该字符串不是一个纯数字字符串。 4. **最终结果**:如果所有字符都通过了数字检查,则返回 `true`,表示该字符串...

    java字符串处理输入一个字符串和一个字符后,原字符串中所有该字符将被删除并显示出结果

    在这个特定的场景中,我们需要创建一个Applet程序,它能够接收用户输入的字符串和一个字符,然后从原始字符串中删除所有出现的指定字符,并显示处理后的结果。Applet是Java的一个早期特性,用于在Web浏览器中运行小...

    求字符串中的第一个数字

    根据给定的信息,我们可以分析并总结出以下与“求字符串中的第一个数字”相关的知识点: ### 1. 字符串操作基础 #### 1.1 字符串简介 在 Java 中,`String` 类用于表示不可变的字符序列,即字符串。字符串在 Java ...

    JAVA判断字符串是否为数字字符

    下面展示的是一个具体的Java方法实现,该方法用于判断传入的字符串`Num`是否全部由数字组成: ```java public boolean isNumber(String Num) { int isLength = Num.length(); if (isLength != 0) { boolean ...

    java 中字符串只中英数字混合需要分割的解决办法

    这个方法用来处理java中可能有一些特别的需要,一大串中英文混合,需要中间截断或是中英中间添加一些特别的标识,调用这个方法 第一个参数是要处理的字符串,第二个是要在中英字符中间插入的字符。调用就可以得到想...

    java接收用户输入的一个字符串和一个字符,将字符串中出现的所有该字符删除,打印新生成的字符串

    java接收用户输入的一个字符串和一个字符,将字符串中出现的所有该字符删除,打印新生成的字符串。

    java字符串类型数字设置千分位分隔

    在Java编程中,处理数字时,我们经常需要将数字格式化为包含千分位分隔符的字符串,以便于人类阅读。例如,一个大数字123456789.012可能需要转化为"123,456,789.012"的形式。这个过程可以通过使用`DecimalFormat`类...

    java将字符串中数字转换为中文大写,在输出字符串

    java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字...

    java从字符串中获取数字的两种方法

    java从一个包含中文字的字符串中抽取数字部分的两种方法,自己使用后,感觉挺符合需求了,分享出来。有需要的可以看看,看是否符合需求。

    Java 正则表达式判断字符串是否包含中文

    通过本文的学习,我们不仅了解了如何使用 Java 的正则表达式来判断一个字符串中是否包含中文字符,还深入了解了 Java 中正则表达式的相关 API 和基本原理。这对于从事 Java 开发的技术人员来说是非常实用且必要的...

    java字母数字混搭字符串排序[归类].pdf

    java 字符串数字混搭字符串排序[归类] ...在实际应用中,java 字符串数字混搭字符串排序的应用非常广泛,例如在数据库查询结果中对字符串数字混搭字符串进行排序,在文件名排序中对字符串数字混搭字符串进行排序等等。

    java判断字符串是否递增递减或重复

    java判断字符串是否存在递增或递减 java判断字符串是否重复

    java验证字符串是否符合json格式

    在本场景中,我们可能需要一个函数或方法来检查传递的字符串是否符合JSON的标准格式,以确保数据的有效性和正确性。 首先,我们需要了解JSON的基本结构。一个有效的JSON字符串必须满足以下条件: 1. 数据是键值对,...

    java判断一个字符串是否是小数的方法

    Java 语言中判断一个字符串是否是小数的方法是非常重要的,因为在实际开发中,我们经常需要对用户输入的字符串进行验证,以确保其符合我们的业务逻辑。以下是关于 Java 判断一个字符串是否是小数的方法的详细介绍: ...

    判断字符串是否只有数字

    在本例中,我们使用了正则表达式 `[0-9]*` 来判断一个字符串是否只由数字组成。这里的关键点包括: - **`[0-9]`**:表示从0到9的任意单个数字。 - **`*`**:表示前面的模式可以出现零次或多次。 因此,`[0-9]*` ...

    java字符串处理取出括号内的字符串

    在Java编程语言中,字符串处理是一项常见的任务,特别是在解析、分析或操作文本数据时。本篇文章将深入探讨如何从字符串中提取括号内的内容,主要关注于基础的字符串操作、正则表达式以及如何利用这些工具来实现目标...

    java获取字符串内的数字

    java通过正则表达式获取字符串内的数字简单实例

    Java获取随机字符串

    本文将详细介绍如何在Java中生成随机字符串,并且会结合给定的部分代码示例进行深入分析。 #### 基本原理与方法 Java提供了多种方法来生成随机字符串,主要包括使用`java.util.Random`类和`java.security....

Global site tag (gtag.js) - Google Analytics