Back

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

Как преобразовать строку в целое число в 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);
}

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

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

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

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

Нет. Оба метода выбросят `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