您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> 判断一个字符串是否是合法的long型,有没有更好的方式?

判断一个字符串是否是合法的long型,有没有更好的方式?

来源:网络整理     时间:2016/5/22 19:02:02     关键词:long,字符串

关于网友提出的“判断一个字符串是否是合法的long型,有没有更好的方式?”问题疑问,本网通过在网上对“判断一个字符串是否是合法的long型,有没有更好的方式?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:判断一个字符串是否是合法的long型,有没有更好的方式?
描述:

我需要判断一个输入的字符串是否是合法的long型数值(1.全数字,2.数值不能越界),有没有什么更好更高效的方式?

最原始的方式:

public static boolean isValidLong(String str){
   try{
       long _v = Long.parseLong(str);
       return true;
   }catch(NumberFormatException e){
     return false;
   }
}
我看到过一个判断一个字符串是否是整型数字的方法,要比正则\\d+要快:
public boolean isDigit(String str){
    if( null == str || str.length() == 0 ){
        return false;
    }

     for(int i = str.length; --i >= 0;){
         int c = str.charAt(i);
         if( c < 48 || c > 57 ){
            return false;
         }
     }
    
      return true;
}

解决方案1:

如果是负数,第二种方法返回false,果断不对

解决方案2:

第二种方法的话,000000这种输入也返回true

解决方案3:

人家 Long.parseLong的实现不比楼主的差...

解决方案4:

鄙人觉得第一种方法就靠谱了,简单直观,看到的人都明白


以上介绍了“判断一个字符串是否是合法的long型,有没有更好的方式?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1246328.html

相关图片

相关文章