java 判断一个字符串是否为纯数字

时间:2025-03-10 11:00:32
public class test10 { public static void main(String[] args) { String number = "1"; long startTime; long endTime; boolean a = false; boolean b = false; boolean c = false; startTime = System.currentTimeMillis(); for (int i = 0; i <= 100000; i++) { a = isNumerA(number); } endTime = System.currentTimeMillis(); System.out.println("JAVA自带函数\t" + a + "\t" + (endTime - startTime)); startTime = System.currentTimeMillis(); for (int i = 0; i <= 100000; i++) { b = isNumberB(number); } endTime = System.currentTimeMillis(); System.out.println("正则\t" + b + "\t" + (endTime - startTime)); startTime = System.currentTimeMillis(); for (int i = 0; i <= 100000; i++) { c = isNumerC(number); } endTime = System.currentTimeMillis(); System.out.println("ASCII\t" + c + "\t" + (endTime - startTime)); } //判断String类型是否为数字 //java自带函数 public static boolean isNumerA(String str) { for (int i = 0; i < str.length(); i++) { if (!Character.isDigit(str.charAt(i))) { return false; } } return true; } //正则方式 public static boolean isNumberB(String str) { Pattern pattern = Pattern.compile("[0-9]*"); // Pattern pattern = ("^[0-9]*$"); return pattern.matcher(str).matches(); } //ASCII public static boolean isNumerC(String str){ for(int i=str.length();--i >= 0;){ int chr =str.charAt(i); if(chr<48 || chr>57) return false; } return true; } }