推荐使用第二个方法,速度最快。
方法一:用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 isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true; }
方法二:
- /*
- * 判断是否为整数
- * @param str 传入的字符串
- * @return 是整数返回true,否则返回false
- */
- public static boolean isInteger(String str) {
- Pattern pattern = Pattern.compile("^[-\+]?[\d]*$");
- return pattern.matcher(str).matches();
- }
/* * 判断是否为整数 * @param str 传入的字符串 * @return 是整数返回true,否则返回false */ public static boolean isInteger(String str) { Pattern pattern = Pattern.compile("^[-\+]?[\d]*$"); return pattern.matcher(str).matches(); }
方法三:
- public static boolean isNumeric(String str){
- Pattern pattern = Pattern.compile("[0-9]*");
- return pattern.matcher(str).matches();
- }
public static boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); return pattern.matcher(str).matches(); }
方法四:
- public final static boolean isNumeric(String s) {
- if (s != null && !"".equals(s.trim()))
- return s.matches("^[0-9]*$");
- else
- return false;
- }
public final static boolean isNumeric(String s) { if (s != null && !"".equals(s.trim())) return s.matches("^[0-9]*$"); else return false; }
3方法五:用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;
- }
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; }