public static boolean isLong(String str) {
return str.matches("^[\\+-]?[\\d]+$");
}
public static boolean isDouble(String str) {
return str.matches("^[\\+-]?[\\d]+(\\.\\d+)?$");
}
matches(STRING)这个方法参数是正则表达式前面的(- ¦\\+)?因为+号有特殊含意所以要转译,表示一个或没有\\d+就是一个或多个.
public class Q
{
public static void main(String[] args)
{
String s1="1234";
String s2="SS123";
if(s1.matches("(- ¦\\+)?\\d+")){
System.out.println("YES");
}else{
System.out.println(s1+"is NOT INT");
}
if(s2.matches("(- ¦\\+)?\\d+")){
System.out.println("YES");
}else{
System.out.println(s2+"is NOT INT");
}
}
}