Java String to Int — How to Convert a String to an Integer
--
String objects are represented as a string of characters.
If you have worked in Java Swing, it has components such as JTextField and JTextArea which we use to get our input from the GUI. It takes our input as a string.
If we want to make a simple calculator using Swing, we need to figure out how to convert a string to an integer. This leads us to the question — how can we convert a string to an integer?
In Java, we can use Integer.valueOf()
and Integer.parseInt()
to convert a string to an integer.
1. Use Integer.parseInt() to Convert a String to an Integer
This method returns the string as a primitive type int. If the string does not contain a valid integer then it will throw a NumberFormatException.
So, every time we convert a string to an int, we need to take care of this exception by placing the code inside the try-catch block.
Let’s consider an example of converting a string to an int using Integer.parseInt()
:
String str = "25";
try{
int number = Integer.parseInt(str);
System.out.println(number); // output = 25
}
catch (NumberFormatException ex){
ex.printStackTrace();
}
Let's try to break this code by inputting an invalid integer:
String str = "25T";
try{
int number = Integer.parseInt(str);
System.out.println(number);
}
catch (NumberFormatException ex){
ex.printStackTrace();
}
As you can see in the above code, we have tried to convert 25T
to an integer. This is not a valid input. Therefore, it must throw a NumberFormatException.
Here's the output of the above code:
java.lang.NumberFormatException: For input string: "25T"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at OOP.StringTest.main(StringTest.java:51)
Next, we will consider how to convert a string to an integer using the Integer.valueOf()
method.