java 判断字符串是否是整数

Java 中,如何判断字符串是否是整数呢?

有两种方式:

方式一:通过正则表达式

Java代码  

  1. /*** 
  2.      * 判断 String 是否int 
  3.      *  
  4.      * @param input 
  5.      * @return 
  6.      */  
  7.     public static boolean isInteger(String input){  
  8.         Matcher mer = Pattern.compile("^[0-9]+$").matcher(input);  
  9.         return mer.find();  
  10.     }  

 上述方法不完善,不能识别负数,比如识别不了“-9”,“+9”。多谢大家指教,改进如下:

Java代码  

  1. /*** 
  2.      * 判断 String 是否是 int 
  3.      *  
  4.      * @param input 
  5.      * @return 
  6.      */  
  7.     public static boolean isInteger(String input){  
  8.         Matcher mer = Pattern.compile("^[+-]?[0-9]+$").matcher(input);  
  9.         return mer.find();  
  10.     }  

 测试代码如下:

Java代码  

  1. @Test  
  2.     public void test_isInteger(){  
  3.         String input="123";  
  4.         System.out.println(input+":"+ValueWidget.isInteger(input) );  
  5.           
  6.         input="000000000000009";  
  7.         System.out.println(input+":"+ValueWidget.isInteger(input) );  
  8.           
  9.         input="-9";  
  10.         System.out.println(input+":"+ValueWidget.isInteger(input) );  
  11.           
  12.         input="-09";  
  13.         System.out.println(input+":"+ValueWidget.isInteger(input) );  
  14.           
  15.         input="--9";  
  16.         System.out.println(input+":"+ValueWidget.isInteger(input) );  
  17.     }  

 运行结果:

123:true

000000000000009:true

-9:true

-09:true

--9:false

 

 

 

方式二:通过java 的异常

Java代码  

  1. public static boolean isValidInt(String value) {  
  2.         try {  
  3.             Integer.parseInt(value);  
  4.         } catch (NumberFormatException e) {  
  5.             return false;  
  6.         }  
  7.         return true;  
  8.     }  
时间: 2024-09-28 23:35:39

java 判断字符串是否是整数的相关文章

Java判断字符串中是否包含中文方法_java

今天和同事在讨论一个问题,需要检查"输入的字符串中是否包含中文",刚开始想到是用正则表达式,正则表达式中是以[u4e00-u9fa5]来全匹配字符是否是中文,但现在面临的问题是这个字符串中还可能包含英文字符.数字.特殊字符,一时也没想出能匹配该场景的正则表达式,后来在网上搜了下,可以使用Matcher类来解决该问题,大致的代码实现如下: import java.util.regex.Matcher; import java.util.regex.Pattern; public clas

java判断字符串是否有逗号的方法_java

如下所示: if(str.indexOf(",") >= 0) System.out.println("字符串中有逗号"); 以上这篇java判断字符串是否有逗号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js判断字符串含有逗号.js判断字符串包含逗号.java逗号分割字符串.java以逗号分割字符串.

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

本文实例总结了java判断字符串是否为数字的方法.分享给大家供大家参考,具体如下: 方法一:用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } 方法二:用正则表达式 public static boolean isNume

java判断字符串是否为数字或中文或字母

个人认为最好的方法 *各种字符的unicode编码的范围:      * 汉字:[0x4e00,0x9fa5](或十进制[19968,40869])      * 数字:[0x30,0x39](或十进制[48, 57])      *小写字母:[0x61,0x7a](或十进制[97, 122])      * 大写字母:[0x41,0x5a](或十进制[65, 90]) public static boolean isLetterDigitOrChinese(String str) { Stri

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

关于 String 的判空: 复制代码 代码如下: //这是对的if (selection != null && !selection.equals("")) {      whereClause += selection;  } //这是错的if (!selection.equals("") && selection != null) {      whereClause += selection;  } 注:"==&qu

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

注意:Java的字符串要先对\做转义-- 其次是因为matcher.matches()没用对.这个方法等同于自动在pattern的前后加上^和$,显然这个字符串超过了长度1,所以匹配失败了.用matcher.find()或者matcher.lookingAt()都可以. 例  代码如下 复制代码 public static boolean isContainChinese(String str) {     Pattern p=Pattern.compile("[u4e00-u9fa5]&quo

java判断字符串中的数字,实现自增

问题描述 例子,如果我的一个文件的名称是File.doc.V0001修改后应该是File.doc.V0002.依次根据修改的次数,实现递增.文件版本考虑....java代码怎么对V0001----->V9999实现自增呢??? 问题补充:突然想到用string.format(),来对字符串自增后的前面进行补0操作,可行否 解决方案 这个简单:public static String increase(String value){int index=1;int n=Integer.parseInt

Java判断字符串长度

今天一个程序出了问题,排查了半天才发现,原来是因为原来的一个计算汉字长度的代码出了问题:  public static int getStringRealLength(String str) throws Exception{   String str1 = new String(str.getBytes("GB2312"),"iso-8859-1");   return str1.length(); } 汉字中有生僻字:"旸",结果计算出长度为

java 判断字符串是否在list中

问题描述 做一个明细表中的新建.修改与删除的功能,该明细表新建后需要维护,可能新建数据或删除数据,假如现在得到界面传回的数据ID是:1.2.25.46:先得到数据库这条主表数据的ID下所有的数据信息如下,放在list中:得到SQL数据为:1.25.46,通过下列语句得到后放到list中List<Rkmx> listRkMX = rkdMXDAO.GetRKMXInfo(" where pz_id=" + pz_id); 知道多了一条ID为2的数据,这个怎么进行循环比对 解决