java 判断一个字符串是否为纯数字
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;
}
}