Last updated on February 28th, 2024
In this topic, we will learn about different ways to reverse a string in Java with examples.
There are the following ways to reverse a String in Java:
• Using the String’s charAt() method
• Using the String’s toCharArray() method
• Using the String’s getBytes() method
• Using the StringBuilder’s reverse() method
• Using the StringBuffer’s reverse() method
Using the String’s charAt() method
We can reverse a String using the charAt() method of the String class. A String object is immutable and doesn’t have the in-built reverse() method. StringBuilder and StringBuffer classes have in-built reverse() methods.
Example
In this example, we will get each character of the String and add them to the font of the new String.
public class SpringJava{
public static void main (String[] args) {
String str= "springjava", nstr="";
char ch;
System.out.println("Original String: "+str);
for(int i=0; i<str.length(); i++){
//gets each character
ch= str.charAt(i);
//adds each character in the front of the string
nstr= ch+nstr;
}
System.out.println("Reversed String: "+ nstr);
}
}
Output
Original String: springjava
Reversed String: avajgnirps
Using the String’s toCharArray() method
We can reverse a String by using the toCharArray() method of the String class in Java
Example
In this example, we will convert String to a character array and iterate from the last index to the index of the array.
public class SpringJava{
public static void main(String[] args){
String input = "springjava";
//converting String to character array by using toCharArray() method
char[] charArr = input.toCharArray();
for (int i = charArr.length - 1; i >= 0; i--)
System.out.print(charArr[i]);
}
}
Output
avajgnirps
Using the String’s getBytes() method
We can reverse a String by using the getBytes() method in Java’s String class.
Example
In this example, we will convert String to byte array to reverse String.
public class SpringJava {
public static void main(String[] args){
String input = "springjava";
//converting String to byte array
byte[] bytSArr = input.getBytes();
byte[] bytArr = new byte[bytSArr.length];
for (int i = 0; i < bytSArr.length; i++)
bytArr[i] = bytSArr[bytSArr.length - i - 1];
System.out.println(new String(bytArr));
}
}
Output
avajgnirps
Using the StringBuilder’s reverse() method
We can reverse a String by using the in-built reverse() method of the StringBuilder class in Java.
Example
In this example, we will take String and StringBuilder then append String to StringBuilder and apply the reverse() method of the StringBuilder to reverse String.
public class SpringJava {
public static void main(String[] args){
String input = "springjava";
StringBuilder sb = new StringBuilder();
//appending a string into StringBuilder
sb.append(input);
//reverse StringBuilder
sb.reverse();
//printing reversed String
System.out.println(sb);
}
}
Output
avajgnirps
Using the StringBuilder’s reverse() method
We can reverse String by using the in-built reverse() method of the StringBuffer class in Java.
Example
In this example, we will convert String to StringBuffer and then apply the reverse() method to reverse String in Java.
public class SpringJava {
public static void main(String[] args){
String str = "springjava";
//converting a String object to StringBuffer
StringBuffer sbr = new StringBuffer(str);
//to reverse that string
sbr.reverse();
System.out.println(sbr);
}
}
Output
avajgnirps
FAQ
Q1: How a string is reversed in Java?
Ans. The string class does have an in-built reverse() method but the StringBuffer class has a reverse() method. We can convert String to StringBuffer and then use the reverse() method to reverse a String in Java.
Q2: How do you reverse a word in Java?
Ans. Using the StringBuilder class’s reverse() method, we can reverse a word in Java.
Conclusion
In this topic, we learned different ways to reverse String in Java.