Чтобы проверить, является ли строка числом в Java, вы можете использовать несколько методов. Вот несколько подходов:
- Использование регулярных выражений.
Вы можете использовать регулярные выражения для сопоставления числовых шаблонов в строке. Вот пример:
public static boolean isNumeric(String str) {
return str.matches("-?\\d+(\\.\\d+)?");
}
Этот метод возвращает true, если строка strпредставляет число, и falseв противном случае.
- Использование методов синтаксического анализа.
Вы можете использовать методы синтаксического анализа, предоставляемые классами-оболочками Java, напримерInteger,DoubleилиBigDecimalи перехватывать любые возникающие исключения. Вот пример:
public static boolean isNumeric(String str) {
try {
Double.parseDouble(str);
return true;
} catch (NumberFormatException e) {
return false;
}
}
Этот метод пытается проанализировать строку как значение double. Если возникает исключение, это означает, что строка не является допустимым числом.
- Использование Apache Commons Lang.
Если вы используете библиотеку Apache Commons Lang, вы можете использовать методStringUtils.isNumeric(). Вот пример:
import org.apache.commons.lang3.StringUtils;
public static boolean isNumeric(String str) {
return StringUtils.isNumeric(str);
}
Этот метод возвращает true, если строка содержит только числовые символы, и falseв противном случае.