Java中判断字符串是否为数字可以使用以下方法:
1. 使用正则表达式判断:
public static boolean isNumeric(String str) {
if (str == null) {
return false;
}
Pattern pattern = Pattern.compile("-?[0-9]+(\\.[0-9]+)?");
return pattern.matcher(str).matches();
}
上述方法使用正则表达式判断字符串是否为数字,包括整数和小数。
2. 使用Java自带的方法判断:
public static boolean isNumeric(String str) {
if (str == null) {
return false;
}
try {
double d = Double.parseDouble(str);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}
上述方法使用Java自带的方法`Double.parseDouble()`将字符串转换为double类型,如果字符串不是数字,则会抛出`NumberFormatException`异常。
请注意,以上方法中,如果字符串为null,则会返回false。如果您希望字符串为null时也返回false,可以将`if (str == null)`改为`if (str == null || str.trim().length() == 0)`。