Как преобразовать строку в целое число в Java
![Как преобразовать строку в целое число в Java](/images/convert-string-int-java/images/hero.png)
Преобразование строки в целое число - распространенная задача в 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()
. Всегда проверяйте ввод и обрабатывайте исключения, чтобы обеспечить плавное выполнение ваших приложений.