Java Tutorial

Operators

Flow Control

String

Number and Date

Built-in Classes

Array

Class and Object

Inheritance and Polymorphism

Exception Handling

Collections, Generics and Enumerations

Reflection

Input/Output Stream

Annotation

Converting Between Java String And Int

In Java, you often need to convert between String and int data types. In this tutorial, we will cover how to convert a String to an int and an int to a String.

  • Converting String to int

To convert a String to an int, you can use the parseInt() method of the Integer class. This method takes a String argument and returns an int value. If the provided String cannot be parsed into an integer, a NumberFormatException is thrown.

Example:

public class StringToIntExample {
    public static void main(String[] args) {
        String numberAsString = "123";
        
        try {
            int number = Integer.parseInt(numberAsString);
            System.out.println("Converted number: " + number); // Output: Converted number: 123
        } catch (NumberFormatException e) {
            System.out.println("Invalid number format");
        }
    }
}
  • Converting int to String

There are several ways to convert an int to a String in Java:

a. Using Integer.toString(int) method:

int number = 123;
String numberAsString = Integer.toString(number);
System.out.println("Converted string: " + numberAsString); // Output: Converted string: 123

b. Using String.valueOf(int) method:

int number = 123;
String numberAsString = String.valueOf(number);
System.out.println("Converted string: " + numberAsString); // Output: Converted string: 123

c. Using Integer object's toString() method:

int number = 123;
String numberAsString = new Integer(number).toString();
System.out.println("Converted string: " + numberAsString); // Output: Converted string: 123

d. Using string concatenation:

int number = 123;
String numberAsString = "" + number;
System.out.println("Converted string: " + numberAsString); // Output: Converted string: 123

In summary, converting between String and int data types in Java is a common operation. You can use the parseInt() method of the Integer class to convert a String to an int, and various methods like Integer.toString(int), String.valueOf(int), Integer object's toString() method, or string concatenation to convert an int to a String.

  1. Parsing integers from String in Java

    Parsing involves converting a String representation of a number into an actual numeric data type, such as int.

    String strNumber = "123";
    int parsedNumber = Integer.parseInt(strNumber);
    
    System.out.println("Parsed Number: " + parsedNumber);
    
  2. NumberFormatException in Java when converting String to int

    When parsing a String to an int, a NumberFormatException can occur if the String is not a valid integer.

    String strNumber = "abc";
    try {
        int parsedNumber = Integer.parseInt(strNumber);
        System.out.println("Parsed Number: " + parsedNumber);
    } catch (NumberFormatException e) {
        System.out.println("Invalid input: " + e.getMessage());
    }
    
  3. Using Integer.parseInt() for String to int conversion in Java

    Integer.parseInt() is a method in Java for converting a String to an int. It throws a NumberFormatException if the conversion is not possible.

    String strNumber = "456";
    int parsedNumber = Integer.parseInt(strNumber);
    
    System.out.println("Parsed Number: " + parsedNumber);
    
  4. Java Integer.valueOf() vs parseInt() for String to int

    Both Integer.parseInt() and Integer.valueOf() can be used to convert a String to an int. The key difference is that parseInt() returns a primitive int, while valueOf() returns an Integer object.

    String strNumber = "789";
    
    // Using parseInt()
    int parsedNumber1 = Integer.parseInt(strNumber);
    
    // Using valueOf()
    Integer parsedNumber2 = Integer.valueOf(strNumber);
    
    System.out.println("Parsed Number 1: " + parsedNumber1);
    System.out.println("Parsed Number 2: " + parsedNumber2);
    
  5. Handling invalid input while converting String to int in Java

    To handle invalid input gracefully, you can use a try-catch block to catch the NumberFormatException and provide feedback to the user.

    String userInput = "xyz";
    
    try {
        int parsedNumber = Integer.parseInt(userInput);
        System.out.println("Parsed Number: " + parsedNumber);
    } catch (NumberFormatException e) {
        System.out.println("Invalid input. Please enter a valid number.");
    }
    
  6. Converting int to String in Java using Integer.toString()

    To convert an int to a String, you can use the Integer.toString() method.

    int number = 123;
    String strNumber = Integer.toString(number);
    
    System.out.println("Converted String: " + strNumber);
    
  7. Java String to int conversion with error handling

    When converting a String to an int with potential invalid input, it's essential to handle errors to prevent exceptions.

    String userInput = "abc";
    
    try {
        int parsedNumber = Integer.parseInt(userInput);
        System.out.println("Parsed Number: " + parsedNumber);
    } catch (NumberFormatException e) {
        System.out.println("Invalid input. Please enter a valid number.");
    }
    
  8. Java Scanner class for reading int from user input

    The Scanner class can be used to read user input as an int. It provides methods like nextInt() for reading integers.

    import java.util.Scanner;
    
    public class InputExample {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter an integer: ");
            int userInput = scanner.nextInt();
    
            System.out.println("You entered: " + userInput);
    
            scanner.close();
        }
    }