JavaRush /Java блог /Java Developer /Парсинг строк в Java

Парсинг строк в Java

Статья из группы Java Developer
Перед программистами часто стоят задачи, решение которых не всегда очевидно. Одна из таких задач — парсинг строк. Он используется при чтении данных с консоли, файла и других источников. Большинство данных, которые передаются через интернет, тоже находятся в строчном виде. К сожалению, производить математические операции со строками невозможно. Поэтому, каждому программисту необходимо точно знать, как производить преобразование строки в число в Java. Парсинг строк в Java - 1В строках могут содержаться различные числовые типы:
  • byte;
  • short;
  • int;
  • long;
  • float;
  • double.
Для извлечения из строки числового значения необходимого типа, нужно воспользоваться его классом-оберткой:

byte a = Byte.parseByte("42");
short b = Short.parseShort("42");
int c = Integer.parseInt("42");
long d = Long.parseLong("42");
float e = Float.parseFloat("42.0");
double f = Double.parseDouble("42.0");
Не секрет, что самым популярным типом данных является int, поэтому по частоте своего использования метод parseInt в Java дышит в спину методу для вывода информации на консоль System.out.println(). Но при использовании метода Integer.parseInt() нужно помнить о некоторых нюансах:
  1. Если в метод передать строку, которая не является целочисленным значением, будет получена ошибка java.lang.NumberFormatException, которая будет сообщать, что полученная строка не является целочисленным значением.

  2. NumberFormatException произойдет и в том случае, если переданная строка будет содержать пробел.

  3. parseInt() — может работать с отрицательными числами. Для этого строка должна начинаться с символа “-”.

  4. parseInt() — не может распарсить строку, если числовое значение выходит за пределы типы int (-2147483648 .. 2147483647).

Учитывая эти четыре простых нюанса, можно избежать сложных ошибок в будущем, ведь парсить строки программистам приходится очень часто. И это ждет каждого из нас!
Комментарии (6)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Maksim Уровень 18
2 февраля 2022
Это все классно и понятно! Хотелось бы найти примеры или best praktice как парсить строки с постаронними символами типа [?.,+- f]. При том что числа могут быть разной длинны.
Dmitry B Уровень 20
23 декабря 2021
и это на 4м месте в выдаче яндекса ((( ужасно
Valua Sinicyn Уровень 41
7 мая 2021
Если в метод передать строку, которая не является целочисленным значением Шедеврально ! Вы сами поняли, что написали ?
Vitalii Efimov Уровень 11
18 июня 2020
Статья дюже бесполезная
Егор Уровень 28
28 апреля 2020
Статья неплохая, но больно уж короткая. Полезной информации минимум. Хотелось бы больше про то, как именно парсятся строки.