Given a String str containing digits as characters, the task is to convert this given string to an integer in Java. In this article, we will learn how to convert a String to an Int in Java.
Examples:
Input: str = "1234" Output: 1234 Input: str = "213s" Output: 0 Since the String contains other than digits, hence the integer value will be 0
Methods to convert a String to an Int in Java
There are certain methods to convert a String to an Int in Java as mentioned below:
1. Use Integer.parseInt() method
This is the most simple method to convert a String to an integer. The Integer.parseInt() function parses the string argument as a signed decimal integer.
Syntax:
public static int parseInt(String s) throws NumberFormatException
Below is the implementation of the above approach:
Java
// Java program to convert String to int // using Integer.parseInt() method import java.io.*; class GFG { // Function to convert String to integer public static int convert(String str) { int val = 0 ; System.out.println( "String = " + str); // Convert the String try { val = Integer.parseInt(str); } catch (NumberFormatException e) { // This is thrown when the String // contains characters other than digits System.out.println( "Invalid String" ); } return val; } // Driver code public static void main(String[] args) { String str = "1234" ; int val = convert(str); System.out.println( "Integer value = " + val); System.out.println(); str = "123s" ; val = convert(str); System.out.println( "Integer value = " + val); } } |
String = 1234 Integer value = 1234 String = 123s Invalid String Integer value = 0
2. Java valueOf() method
It is a method that converts String into Integer Object.
Below is the Implementation of the above method:
Java
// Java program to convert String to int // using Ints::tryParse method import java.io.*; import java.util.*; // Driver Class class GFG { // Driver code public static void main(String[] args) { String str = "1234" ; int val = Integer.valueOf(str); System.out.println( "Integer value = " + val); System.out.println(); } } |
Integer value = 1234
Note: String literal, calling Integer.parseInt() or Integer.valueOf() methods throw NumberFormatException if you don’t have numbers.
3. Use the Ints::tryParse method of the Guava library
Another method to convert a String to an integer is to use the Ints::tryParse method of the Guava library. It is similar to the Integer.parseInt() method, but this method is more concise and powerful.
Syntax:
public static Integer tryParse(String s)
Below is the implementation of the above approach:
Java
// Java program to convert String to int // using Ints::tryParse method import com.google.common.primitives.Ints; import java.io.*; import java.util.*; class GFG { // Function to convert String to integer public static int convert(String str) { int val = 0 ; System.out.println( "String = " + str); // Convert the String val = Optional.ofNullable(str) .map(Ints::tryParse) .orElse( 0 ); return val; } // Driver code public static void main(String[] args) { String str = "1234" ; int val = convert(str); System.out.println( "Integer value = " + val); System.out.println(); str = "123s" ; val = convert(str); System.out.println( "Integer value = " + val); } } |
Output
String = 1234 Integer value = 1234 String = 123s Integer value = 0