Есть два способа конвертировать 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"
