12k
All articles

Как преобразовать строку в целое число в Java

Преобразование строки в целое число в Java через parseInt, Integer.valueOf и обработку исключений для безопасной работы с пользовательским вводом.

OpenReplay Team
OpenReplay Team
Как преобразовать строку в целое число в Java

Преобразование строки в целое число - распространенная задача в Java. Независимо от того, обрабатываете ли вы пользовательский ввод или работаете с данными из внешнего источника, вам часто придется безопасно и эффективно выполнять это преобразование. В этом руководстве рассматриваются три простых метода преобразования строки в целое число в Java.

Ключевые выводы

  • Используйте Integer.parseInt() для простых преобразований.
  • Используйте Integer.valueOf(), когда вам нужен объект Integer вместо примитивного int.
  • Всегда обрабатывайте потенциальные исключения, такие как NumberFormatException, чтобы избежать сбоев.

1. Использование Integer.parseInt()

Это наиболее часто используемый метод для преобразования строки в примитивный int:

String numberStr = ""42"";
int number = Integer.parseInt(numberStr);
System.out.println(""Преобразованное число: "" + number);

Ключевые детали

  • Возвращает примитивный int.
  • Выбрасывает NumberFormatException, если строку невозможно преобразовать (например, она содержит нецифровые символы).

Когда использовать этот метод

Используйте его, когда вам нужен только примитивный int и вы уверены, что входная строка является допустимой числовой строкой.

2. Использование Integer.valueOf()

Если вам нужен объект Integer вместо примитивного int, используйте Integer.valueOf():

String numberStr = ""42"";
Integer number = Integer.valueOf(numberStr);
System.out.println(""Преобразованное число: "" + number);

Ключевые детали

  • Возвращает объект Integer (класс-обертка для int).
  • Также выбрасывает NumberFormatException для недопустимых строк.

Когда использовать этот метод

Этот метод полезен, если вы работаете с коллекциями, такими как ArrayList<Integer>, которые требуют объектов-оберток вместо примитивов.

3. Обработка исключений для безопасного преобразования

Всегда обрабатывайте исключения при преобразовании строк в целые числа, чтобы избежать сбоев во время выполнения:

String numberStr = ""42a""; // Недопустимый ввод
try {
    int number = Integer.parseInt(numberStr);
    System.out.println(""Преобразованное число: "" + number);
} catch (NumberFormatException e) {
    System.out.println(""Недопустимый формат числа: "" + numberStr);
}

Почему обработка исключений важна

  • Гарантирует, что ваше приложение не завершится аварийно при недопустимом вводе.
  • Дает возможность регистрировать ошибки или предлагать пользователям вводить допустимые данные.

Часто задаваемые вопросы

Что произойдет, если строка равна null?

И `Integer.parseInt()`, и `Integer.valueOf()` выбросят `NumberFormatException`. Всегда проверяйте на null перед попыткой преобразования.

Могу ли я преобразовать строку с десятичными знаками (например, '42.5') в целое число?

Нет. Оба метода выбросят `NumberFormatException`. Используйте `Double.parseDouble()` или `Float.parseFloat()` для чисел с плавающей запятой, затем приведите к `int`, если необходимо.

Что, если строка слишком велика для целого числа?

`NumberFormatException` будет выброшено, если строка представляет число, выходящее за пределы диапазона `int` (от -2 147 483 648 до 2 147 483 647).

Заключение

Преобразование строки в целое число в Java - это просто с помощью таких методов, как Integer.parseInt() и Integer.valueOf(). Всегда проверяйте ввод и обрабатывайте исключения, чтобы обеспечить плавное выполнение ваших приложений.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers

We use cookies to improve your experience. By using our site, you accept cookies.