In this article, we’ll look at how to convert a string to an array of characters in Java. I'll also briefly explain to you what strings, characters, and arrays are.

What is a Character in Java?

Characters are primitive datatypes. A character is a single character enclosed inside single quotation marks. It can be a letter, a digit, a punctuation mark, a space or something similar. For example:

char firstVowel = 'a';

What is a String in Java?

Strings are objects (reference type). A string is made up of a string of characters. It's anything inside double quotation marks. For example:

String vowels = "aeiou";

What is an Array in Java?

Arrays are fundamental data structures which can store fixed number of elements of the same data type in Java. For example, let's declare an array of characters:

char[] vowelArray = {'a', 'e', 'i', 'o', 'u'};

Now, we have a basic understanding about what strings, characters, and arrays are.

Let's Convert a String to a Character Array

1. Use toCharArray() Instance Method

toCharArray() is an instance method of the String class. It returns a new character array based on the current string object.

Let's check out an example:

// define a string
String vowels = "aeiou";

// create an array of characters 
char[] vowelArray = vowels.toCharArray();

// print vowelArray
System.out.println(Arrays.toString(vowelArray));

Output: [a, e, i, o, u]

When we convert a string to an array of characters, the length remains the same. Let's check the length of both vowels and vowelArray :

System.out.println("Length of \'vowels\' is " + vowels.length());
System.out.println("Length of \'vowelArray\' is " + vowelArray.length);

Output:

Length of 'vowels' is 5
Length of 'vowelArray' is 5

We can use various ways to print an array. I used the toString() static method from the Arrays utility class.

You can read more about the toCharArray() instance method in the Java documentation.

2. Use charAt() Instance Method

charAt() is an instance method of the String class. It returns a character at the specified index of the current string.

NOTE: a string is zero index based, similar to an array.

Let's see how we can convert a string to an array of characters using charAt() :

// define a string
String vowels = "aeiou";

// create an array of characters. Length is vowels' length
char[] vowelArray = new char[vowels.length()];

// loop to iterate each characters in the 'vowels' string
for (int i = 0; i < vowels.length(); i++) {
    // add each character to the character array
    vowelArray[i] = vowels.charAt(i);
}

// print the array
System.out.println(Arrays.toString(vowelArray));

Output: [a, e, i, o, u]

You can read more about the charAt() instance method in the Java documentation.

I just showed you another way of converting a string to a character array, but we can use the toCharArray() method to easily convert instead of creating loops and iterating them.

Please feel free to let me know if you have any suggestions or questions.

Photo by Alex Alvarez on Unsplash.

Please support freeCodeCamp in their Data Science Curriculum Pledge Drive.

Connect with me on Medium.

Thank you 😇

Happy Coding ❤️

More on Programming in Java

  1. Object-Oriented Programming Principles  in Java:  OOP Concepts for Beginners
  2. Java Array Methods – How to Print an Array in Java
  3. Java String to Int – How to Convert a String to an Integer
  4. Java Random Number Generator – How to Generate Integers With Math Random