How to convert Java Integer to Int Array instance

To convert an Integer or int type data into an int[] array type, you need to do the following steps:

  • First, convert your Integer or int into a String
  • Then create a new int[] instance and use the value of String.length() method as the size of the array
  • Use a for loop to put each String character inside the array

Let’s see an example of converting an int value into an int[].

First, create a String representation of the int type using Integer.toString() method:

public static void main(String[] args)
{
    int num = 12345;
    String temp = Integer.toString(num);
}

Then, create a new int[] where you will put the integers later.

Use the String.length() method to determine the size of the array:

public static void main(String[] args)
{
    int num = 12345;
    String temp = Integer.toString(num);
    int[] numbers = new int[temp.length()];
}

Finally, create a for loop to iterate through the String and assign each character inside the String into the array.

Take a look at the code below:

for (int i = 0; i < temp.length(); i++) {
    numbers[i] =  Character.getNumericValue(temp.charAt(i));
}

You need to use the combination of Character.getNumericalValue() and String.charAt() methods to get the right integer value.

This is because the String.charAt() method returns the number as a String, and you will get the Unicode value of the numbers without using the Character.getNumericalValue() method.

The code below shows the result of calling only the charAt() method:

for (int i = 0; i < temp.length(); i++) {
    numbers[i] =  temp.charAt(i);
}

System.out.println("Variable numbers content: " + Arrays.toString(numbers));
// Variable numbers content: [49, 50, 51, 52, 53]

That’s why you need to wrap the value returned by charAt() method with getNumericalValue() method.

Below is the full code for converting an int to an int[] using Java:

public static void main(String[] args)
{
    int num = 12345;
    String temp = Integer.toString(num);
    int[] numbers = new int[temp.length()];

    for (int i = 0; i < temp.length(); i++) {
        numbers[i] =  Character.getNumericValue(temp.charAt(i));
    }

    System.out.println("Variable numbers type: "
            + numbers.getClass().getSimpleName());
    // Variable numbers type: int[]

    System.out.println("Variable numbers content: "
            + Arrays.toString(numbers));
    // Variable numbers content: [1, 2, 3, 4, 5]
}

Feel free to modify the code above as you require 😉

Take your skills to the next level ⚡️

I'm sending out an occasional email with the latest tutorials on programming, web development, and statistics. Drop your email in the box below and I'll send new stuff straight into your inbox!

No spam. Unsubscribe anytime.