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