`
canofy
  • 浏览: 828837 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

三种判断字符串是否是数字性能的比较

    博客分类:
  • j2EE
阅读更多
不多说,下面是代码和结论:
package cn.test;

//import java.text.Character;


public class TestTryIf {
	/**
	 * 异常
	 * @param str
	 * @return
	 */
	public boolean testTry(String str){
//		String ret=str;
		try{
			Integer.parseInt(str);
		}catch(Exception e){
			return false;
//			ret="";
		}
		return true;
	}
	/**
	 * 转为byte类型
	 * @param str
	 * @return
	 */
	public boolean testByte(String str){
		byte[] by=str.getBytes();
//		String ret="";
		for(int i=0;i<by.length;i++){
			if(by[i]>47&&by[i]<58){//48-57为数字					
//				ret+=(char)by[i];
			}else{
				return false;
			}
		}
		return true;
	}
	/**
	 * 转换为char类型
	 * @param str
	 * @return
	 */
	public boolean testChar(String str){
		char[] ch=str.toCharArray();
//		String c="";
		for(int i=0;i<ch.length;i++){
			if(ch[i]>='0'&&ch[i]<='9'){
//				c+=ch[i];
//				System.out.println(ch[i]);
			}else{
				return false;
			}
		}
		return true;
	}
	/**
	 * 得到的结果是最后一种方法最快,即是转换成字符进行判断是最快的
	 * 好像有直接用某个类的方法直接进行判断,没有找到这个方法~~ ^—^
	 * @param args
	 */
	public static void main(String[] args){
		String ss="12345ss678902";
		TestTryIf tt=new TestTryIf();
		long ct1=System.currentTimeMillis();
		for(int i=0;i<100000;i++){
			tt.testTry(ss);
		}		
		long end1=System.currentTimeMillis();
		
		long ct2=System.currentTimeMillis();
		for(int i=0;i<100000;i++){
			tt.testByte(ss);
		}			
		long end2=System.currentTimeMillis();
		
		long ct3=System.currentTimeMillis();
		for(int i=0;i<100000;i++){
			tt.testChar(ss);
		}		
		long end3=System.currentTimeMillis();		
		
		System.out.println(end1-ct1);
		System.out.println(end2-ct2);
		System.out.println(end3-ct3);
		
	}
}

分享到:
评论

相关推荐

    判断字符串是否只有数字

    ### 知识点详解 #### 一、字符串与数字判断 ...总之,判断字符串是否只包含数字是一项基本而重要的任务,在多种编程场景中都有广泛应用。理解并掌握本文所述的方法和技术,将有助于开发者更高效地完成相关工作。

    C#中三种判断是不是数字的方法

    C#中三种判断是不是数字的方法 在C#编程中,判断一个字符串是否为数字是很常见的问题。今天,我们将介绍三种...判断字符串是否为数字可以使用多种方法,每种方法都有其优缺点。选择合适的方法取决于具体情况和需求。

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

    Python 提供了简单直观的方式来判断字符串是否全由数字组成。可以使用 `str.isdigit()` 方法,它会检查字符串中的每个字符是否都是数字(0-9)。例如: ```python s = "12345" if s.isdigit(): print("字符串是...

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

    ### JAVA判断字符串是否为数字字符 在日常的Java开发工作中,我们经常需要验证用户输入的数据是否符合预期格式,比如验证电话号码、身份证号等是否仅包含数字。这种情况下,一个简单有效的工具方法就显得尤为重要了...

    delphi中如何判断是不是数字

    因此,你可以通过检查错误索引是否为`1`来判断字符串是否为数字: ```delphi function IsNumeric(const S: string): Boolean; var Value: Single; ErrorPos: Integer; begin Value := Val(PChar(S), ErrorPos...

    C#判断一个字符串是否是数字或者含有某个数字的方法

    本文介绍了C#中判断字符串是否为数字或包含数字的几种方法。通过使用异常处理、`int.TryParse()`方法和正则表达式,我们可以灵活地实现这一功能。每种方法都有其适用场景,例如,异常处理方法虽然简单,但可能会影响...

    IOS判断字符串是不是纯数字的方法总结

    本文将介绍三种在Objective-C中判断字符串是否为纯数字的方法。 ### 第一种方法:使用`NSScanner` `NSScanner`是Apple提供的一种扫描和解析字符串的工具。通过它,我们可以尝试将字符串转换为整数或浮点数,并检查...

    C#判断一个字符是否在字符串里/数组里

    这里将判断字符'o'是否在字符串"Hello, World!"中。 2. **`IndexOf`方法**:此方法返回指定字符在字符串中第一次出现的位置,如果找不到则返回-1。例如: ```csharp int index = str.IndexOf(c); if (index != ...

    是否IP IP 判断字符串是否IP

    ### 是否IP:判断字符串是否为有效的IP地址 在IT领域,IP地址是互联网协议地址(Internet Protocol Address)的简称,用于标识网络中的设备位置。在软件开发过程中,经常需要判断一个给定的字符串是否符合IPv4地址...

    java验证字符串是否是数字

    通过捕获这个异常,我们可以很容易地判断字符串是否仅由数字组成。 #### 性能考虑 - **正则表达式方法**:适用于需要多次使用的场景,尤其是在多个地方都需要验证字符串是否为数字的情况下。预编译正则表达式可以...

    C# 判断字符串第一位是否为数字

    通过上述介绍可以看出,使用正则表达式来判断字符串的首位是否为数字是一种简单有效的方法。这种方法不仅适用于C#,也广泛应用于其他支持正则表达式的编程语言中。理解正则表达式的基本语法和原理,可以帮助开发者...

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

    在Java编程中,验证字符串是否符合JSON(JavaScript Object Notation)格式是一项常见的任务,尤其是在进行前后端数据交互时。JSON是一种轻量级的数据交换格式,它允许数据以键值对的形式存储,易于人阅读和编写,...

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

    ### Java正则表达式判断字符串是否包含中文 在日常的软件开发过程中,我们经常会遇到需要对输入的字符串进行校验的情况。例如,在处理用户输入、文本分析或数据清洗时,可能需要判断一个字符串中是否包含中文字符。...

    java判断字符串是否为数字的方法小结

    我们可以通过遍历字符串,检查每个字符的ASCII码值是否在这个范围内来判断字符串是否全为数字。下面是具体实现: ```java public static boolean isNumeric(String str) { for (int i = str.length(); --i &gt;= 0;) ...

    检查字符串是否为整数,C++程序

    - `if(Src[i] &gt;= '0' && Src[i] )`:判断字符是否为数字。 - `sum = sum * 10 + (Src[i] - '0');`:转换并累加数字。 - `else`:处理非数字字符的情况。 4. **主函数**: - `char Src[] = "123456";`:初始化一...

    判断一个CString对象是否全是数字

    为了更准确地判断字符串是否全由数字组成,代码中引入了两个布尔变量:`bNumFlag`和`bFloatFlag`。`bNumFlag`用于标记整个字符串是否全部为数字,而`bFloatFlag`用于检测字符串中是否已经出现过小数点。如果发现多个...

    程判断输入的一串字符是否为“回文”。所谓“回文”是指顺序读和逆序读都一样的字符串。如:“12321”和“abcdcba”都是回文。

    总之,判断字符串是否为回文是一个经典的编程问题,它可以帮助初学者理解字符串处理、循环、条件判断、递归以及算法效率等核心概念。在C++中,有多种实现方式,选择哪种方法取决于对性能和简洁性的需求。

    VB6.0从一串字符中只提取数字

    这通常涉及`IsNumeric`函数,它可以判断一个字符串是否可以转换为数值。 ```vb Dim inputString As String Dim i As Integer Dim result As String inputString = "abc123def456" For i = 1 To Len(input...

    Java判断字符串为空、字符串是否为数字

    在Java编程语言中,处理字符串是常见的任务,其中包括判断字符串是否为空以及判断字符串是否只包含数字。在这篇文章中,我们将深入探讨这两种情况的检查方法。 首先,我们来讨论如何判断一个字符串是否为空。在Java...

Global site tag (gtag.js) - Google Analytics