Wednesday, July 3, 2024
HomeLanguagesJavaHow to convert a String to an Int in Java?

How to convert a String to an Int in Java?

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);
    }
}


Output

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();
    }
}


Output

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

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments