romka123
@romka123
Переучиваюсь из PHP в Java разраба

Как проверить тип данных в Java через if?

Всем привет. Переучиваюсь сейчас с PHP на Java и возник вопрос, на который я не смог найти простого ответа. Уже несколько раз, в ходе программирования я сталкиваюсь с тем, что мне нужно организовать некую проверку. Я тут набросал небольшую программку, в которой я через конструкцию исключений проверяю, является ли введённая строка типом double или нет: https://ideone.com/zVz1wa
Меня очень смущает каждый раз создавать громоздкую конструкцию через try - catch, в том же PHP такая проверка заняла бы одну строку:
if (!is_double($cmd)) {
echo "Тип данных должен быть с плавающей точкой");
}

По моему это гораздо лаконичнее и понятнее. Что я делаю не так? Всегда ли ява такая громоздкая или есть способы решить подобного рода задачи более коротко, через конструкции if ? Прошу не кидать в меня тапками, я только только начал изучать Яву, хотя в PHP опыт уже приличный. Возможно я не знаю про какой то фреймворк, который позволяет решать подобные задачи более быстро и красиво или сама методология языка Явы такова, что большая часть проверок делается через исключения...
  • Вопрос задан
  • 3393 просмотра
Решения вопроса 1
@Ezekiel4
Охотник на пиратов и сборщик монолитов
Тип переменной проверяют через instanceof

Object r = 13.1;
if (r instanceof Double) {
    System.out.println("matches double");
}


Распознать же строку как double можно, например, с помощью регулярки

String example = "1331.2";
if (Pattern.matches("^[\\+\\-]{0,1}[0-9]+[\\.\\,][0-9]+$", (CharSequence) example)) {
    System.out.println("matches double");
}


Можно найти какую-нибудь библиотеку, можно самому написать метод, посимвольно перебирающий строку. А можно просто воспользоваться Double.parseDouble(), не такой уж он и громоздкий.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы