Java: проверьте, является ли строка числом

Чтобы проверить, является ли строка числом в Java, вы можете использовать несколько методов. Вот несколько подходов:

  1. Использование регулярных выражений.
    Вы можете использовать регулярные выражения для сопоставления числовых шаблонов в строке. Вот пример:
public static boolean isNumeric(String str) {
    return str.matches("-?\\d+(\\.\\d+)?");
}

Этот метод возвращает true, если строка strпредставляет число, и falseв противном случае.

  1. Использование методов синтаксического анализа.
    Вы можете использовать методы синтаксического анализа, предоставляемые классами-оболочками Java, например Integer, Doubleили BigDecimalи перехватывать любые возникающие исключения. Вот пример:
public static boolean isNumeric(String str) {
    try {
        Double.parseDouble(str);
        return true;
    } catch (NumberFormatException e) {
        return false;
    }
}

Этот метод пытается проанализировать строку как значение double. Если возникает исключение, это означает, что строка не является допустимым числом.

  1. Использование 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в противном случае.