Use `StringBuilder`:
`String reversed = new StringBuilder(str).reverse().toString();`
Use a character array and swap from both ends:
`char[] arr = str.toCharArray();`
`int left = 0, right = arr.length – 1;`
`while (left < right) { char temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; left++; right--; }`
`String reversed = new String(arr);`
Use a `for` loop to build the reversed string:
`String reversed = “”;`
`for (int i = str.length() – 1; i >= 0; i–) { reversed += str.charAt(i); }`
Use `StringBuffer`:
`String reversed = new StringBuffer(str).reverse().toString();`
Use recursion:
`String reverse(String str) { if (str.isEmpty()) return str; return reverse(str.substring(1)) + str.charAt(0); }`
