Java判断一个字符串是不是一个数字的解决思路

 更新时间:2023年08月02日 09:13:49   作者:知识汲取者  
这篇文章主要给大家介绍了关于Java判断一个字符串是不是一个数字的解决思路,判断一个字符串是否为数字是Java开发中很常见的业务需求,实现这个判断有很多种方式,需要的朋友可以参考下

Java中判断一个字符串是否是一个数字

思路一:从底层二进制入手

使用ascii码

public static boolean isNumeric(String str){  
   for(int i=str.length();--i>=0;){  
      int chr=str.charAt(i);  
      if(chr<48 || chr>57)  
         return false;  
   }  
   return true;  
}

思路二:使用Java提供的API

用JAVA自带的函数isDigit()方法判断

public static boolean isNumeric(String str){  
  for (int i = str.length();--i>=0;){    
   if (!Character.isDigit(str.charAt(i))){  
    return false;  
   }  
  }  
  return true;  
}

思路三:使用正则表达式

方式一使用正则表达式^[-+]?[d]*$判断

public static boolean isInteger(String str) {    
    Pattern pattern = Pattern.compile("^[-+]?[d]*$");    
    return pattern.matcher(str).matches();    
  }

方式二使用正则表达式[0-9]*判断

public static boolean isNumeric(String str){  
    Pattern pattern = Pattern.compile("[0-9]*");  
    return pattern.matcher(str).matches();     
}

方式三使用正则表达式^[0-9]*$判断

public final static boolean isNumeric(String str) {  
        if (str != null && !"".equals(str.trim()))  
            return str.matches("^[0-9]*$");  
        else  
            return false;  
    }

备注:上述方法的返回值说明,true表示是判断的字符串是数字

总结

到此这篇关于Java判断一个字符串是不是一个数字的文章就介绍到这了,更多相关Java判断字符串是不是数字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java多线程编程之Synchronized块同步方法

    java多线程编程之Synchronized块同步方法

    这篇文章主要介绍了java多线程编程之Synchronized块同步方法,synchronized关键字又称同步锁,当方法执行完后,会自动释放锁锁,只有一个线程能进入此方法,看看下文中各种例子对synchronized的详细解释
    2015-12-12
  • Java8 Optional优雅空值判断的示例代码

    Java8 Optional优雅空值判断的示例代码

    这篇文章主要介绍了Java8 Optional优雅空值判断的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • Java 获取Web项目相对webapp地址的实例

    Java 获取Web项目相对webapp地址的实例

    下面小编就为大家带来一篇Java 获取Web项目相对webapp地址的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 关于@Component注解的含义说明

    关于@Component注解的含义说明

    这篇文章主要介绍了关于@Component注解的含义说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • SpringMVC中@ModelAttribute与@RequestBody的区别及说明

    SpringMVC中@ModelAttribute与@RequestBody的区别及说明

    这篇文章主要介绍了SpringMVC中@ModelAttribute与@RequestBody的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Java常见踩坑记录之异常处理

    Java常见踩坑记录之异常处理

    程序运行时发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常,下面这篇文章主要给大家介绍了关于Java常见踩坑记录之异常处理的相关资料,需要的朋友可以参考下
    2022-01-01
  • Java如何替换jar中的class文件

    Java如何替换jar中的class文件

    在调整java代码过程中会遇到需要改jar包中的class文件的情况,改了如何替换呢?下面小编给大家分享java替换jar中的class文件的操作方法,感兴趣的朋友跟随小编一起看看吧
    2024-02-02
  • Java OOP三大特征之封装继承与多态详解

    Java OOP三大特征之封装继承与多态详解

    本文主要讲述的是面向对象的三大特性:封装,继承,多态,内容含括从封装到继承再到多态的所有重点内容以及使用细节和注意事项,内容有点长,请大家耐心看完
    2022-07-07
  • java高级用法之注解和反射讲义

    java高级用法之注解和反射讲义

    这篇文章主要给大家介绍了关于java高级用法之注解和反射讲义的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Spring注解解析之@ImportResource

    Spring注解解析之@ImportResource

    之前我们使用spring,最多的还是通过xml配置文件的方式来配置spring bean等内容,随着注解的广泛应用和spring4中Java config的引入,xml配置文件方式逐步被替换,但是如果是想要使用xml配置文件方式的话,也可以通过@ImportResource注解来实现,下面我们来一起看下如何使用.
    2021-05-05

最新评论