Different Ways to Reverse a String in Java

In this topic, we will learn about different ways to reverse a string in Java with examples.
  different_ways_to_reverse_a_string_in_java                           

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.

Leave a Comment