Есть два способа конвертировать String в Integer в Java,
- Строка в Integer с использованием Integer.parseInt ()
- Строка в Integer с использованием Integer.valueOf ()
Допустим, у вас есть строка strTest, которая содержит числовое значение.
String strTest = “100”;
Попробуйте выполнить некоторую арифметическую операцию, такую как деление на 4 — это немедленно покажет вам ошибку компиляции.
class StrConvert{ public static void main(String []args){ String strTest = "100"; System.out.println("Using String:" + (strTest/4)); } }
Вывод:
/StrConvert.java:4: error: bad operand types for binary operator '/' System.out.println("Using String:" + (strTest/4));
Следовательно, вам нужно преобразовать String в int, прежде чем выполнять над ним числовые операции.
Пример 1. Преобразование строки в целое число с использованием Integer.parseInt ()
Синтаксис метода parseInt выглядит следующим образом:
int <IntVariableName> = Integer.parseInt(<StringVariableName>);Передайте строковую переменную в качестве аргумента.
Это преобразует Java String в Java Integer и сохраняет его в указанной целочисленной переменной.
Проверьте фрагмент кода ниже
class StrConvert{ public static void main(String []args){ String strTest = "100"; int iTest = Integer.parseInt(strTest); System.out.println("Actual String:"+ strTest); System.out.println("Converted to Int:" + iTest); //This will now show some arithmetic operation System.out.println("Arithmetic Operation on Int: " + (iTest/4)); } }
Вывод:
Actual String:100 Converted to Int:100 Arithmetic Operation on Int: 25
Пример 2. Преобразование строки в целое число с использованием Integer.valueOf ()
Метод Integer.valueOf () также используется для преобразования String в Integer в Java.
Ниже приведен пример кода, демонстрирующий процесс использования метода Integer.valueOf ():
public class StrConvert{ public static void main(String []args){ String strTest = "100"; //Convert the String to Integer using Integer.valueOf int iTest = Integer.valueOf(strTest); System.out.println("Actual String:"+ strTest); System.out.println("Converted to Int:" + iTest); //This will now show some arithmetic operation System.out.println("Arithmetic Operation on Int:" + (iTest/4)); } }
Вывод:
Actual String:100 Converted to Int:100 Arithmetic Operation on Int:25
NumberFormatException
NumberFormatException генерируется, если вы пытаетесь проанализировать недопустимую числовую строку. Например, строка «Guru99» не может быть преобразована в целое число.
Пример:
public class StrConvert{ public static void main(String []args){ String strTest = "Guru99"; int iTest = Integer.valueOf(strTest); System.out.println("Actual String:"+ strTest); System.out.println("Converted to Int:" + iTest); } }
Приведенный выше пример дает следующее исключение в выводе:
Exception in thread "main" java.lang.NumberFormatException: For input string: "Guru99"