Делаю приложение на java, не знаю как одним оператором if проверить string на наличие алфавитных символов

Делаю простое приложение, в котором есть настройки, и в них можно вписать любое значение. Я использовал метод что бы строку перевести в int значение, и надо сделать так, что бы если в строке присутствуют алфавитные символы, выводило в консоль ошибку.

if (!field.getText().contains(...)){
numb = Integer.parseInt(field.getText());

}


Ответы (1 шт):

Автор решения: Nowhere Man

Можно использовать регулярное выражение для проверки формата при помощи String::matches:

// формат целого числа с необязательным знаком
if (field.getText().matches("[-+]?\\d+")) { 
    numb = Integer.parseInt(field.getText());
}

Также можно перед проверкой формата обрезать лишние пробелы, используя String::trim:

String txt = field.getText().trim();
if (txt.matches("[-+]?\\d+")) { // формат целого числа с необязательным знаком
    numb = Integer.parseInt(txt);
}
→ Ссылка