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 Java Developer
2 февраля 2022, 13:57
Это все классно и понятно! Хотелось бы найти примеры или best praktice как парсить строки с постаронними символами типа [?.,+- f]. При том что числа могут быть разной длинны.
Dmitry B
Уровень 20
23 декабря 2021, 09:33
и это на 4м месте в выдаче яндекса ((( ужасно
Valua Sinicyn
Уровень 41
7 мая 2021, 08:28
Если в метод передать строку, которая не является целочисленным значением Шедеврально ! Вы сами поняли, что написали ?
Vitalii Efimov QA Engineer в Deutsche Bank
18 июня 2020, 13:59
Статья дюже бесполезная
Roman Pantyukhin
Уровень 19
24 июля 2020, 19:20
А мне на начальном уровне статья дала понимание. А то все как-то в лекции сумбурно было описано.
Егор
Уровень 28
28 апреля 2020, 13:22
Статья неплохая, но больно уж короткая. Полезной информации минимум. Хотелось бы больше про то, как именно парсятся строки.