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 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 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 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