try{
Integer.parseInt();
} catch (Exception e){}如果抛异常就说明不能转成integer

解决方案 »

  1.   

    parseInt()就行,出错系统会抛出异常
      

  2.   


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

      

  3.   

    程序编码不应该依赖java的异常机制,用正则表达式性能低下
    只是简单数字,不包括负数,其他进制
    public static boolean isDigits(String str) {
            if (StringUtils.isEmpty(str)) {
                return false;
            }
            for (int i = 0; i < str.length(); i++) {
                if (!Character.isDigit(str.charAt(i))) {
                    return false;
                }
            }
            return true;
        }
    通用的看你具体的要求
      

  4.   

    这个方法apache组织里面的工具包~~,用刀StringUtil工具类和NumberUtil,你的这个方法是不是NumberUtil里的方法。不错的源代码分析
      

  5.   

    String num = "12345";
    System.out.println(Integer.valueOf(num) == 12345);
    若为true,则转换成功
      

  6.   


    推荐用这种。不过Integer的话还要判断最大不能超过多少数值吧。
      

  7.   

    正则表达式:if ("124345".matches("\\d+")){
                  //可以转换成整数
               }
      

  8.   

    try catch方法不好正则表达式的方法可以  但是需要缓存Pattern  否则每次判断都先编译  没那个必要自己写方法也行如果是空或空串  return falsestr.charAt(i) 如果不是数字  return false
      

  9.   

    struts中有校验数字的方法
    也可以将字符串内容转换为数组,然后判断数组每个元素是否都是数字.
      

  10.   

    尽量少用try catch
    对于这种字符串判断,用正则再好不过了