方法一:用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 isInteger(String str) {  
    Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");  
    return pattern.matcher(str).matches();  
}

方法三:用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;
}