어제 오늘 내일

[Java StringBuffer] reverse() – 문자열 뒤집기 본문

IT/Java

[Java StringBuffer] reverse() – 문자열 뒤집기

hi.anna 2025. 8. 26. 12:49

문자열을 거꾸로 뒤집는 로직은 알고리즘 문제나 문자열 처리에서 자주 등장합니다.
반복문을 직접 작성할 수도 있지만, StringBuffer.reverse()를 사용하면 단 한 줄로 해결할 수 있습니다.

 

1. reverse() 기본 사용법

public synchronized StringBuffer reverse()
  • 현재 문자열을 역순으로 뒤집음
  • 반환 타입이 자기 자신(StringBuffer)이므로 메서드 체이닝 가능
  • 원본 내용이 변경됨
StringBuffer sb = new StringBuffer("Hello");
sb.reverse();
System.out.println(sb.toString());
// 출력: olleH

👉 "Hello""olleH"로 뒤집혔습니다.

 

2. 실전 활용 예제

숫자 뒤집기

StringBuffer sb = new StringBuffer("12345");
sb.reverse();
System.out.println(sb.toString());
// 출력: 54321

👉 문자열로 된 숫자도 쉽게 뒤집을 수 있습니다.

회문(Palindrome) 체크

String word = "level";
StringBuffer sb = new StringBuffer(word);

if (word.equals(sb.reverse().toString())) {
    System.out.println("회문입니다.");
} else {
    System.out.println("회문이 아닙니다.");
}
// 출력: 회문입니다.

👉 문자열이 앞뒤가 같은지 확인할 때 간단히 활용 가능합니다.

간단 암호화/디코딩

String password = "OpenAI123";
StringBuffer sb = new StringBuffer(password);
String encrypted = sb.reverse().toString();
System.out.println(encrypted);
// 출력: 321IAnepO

👉 단순한 변환이지만, 학습용 암호화 아이디어로도 응용할 수 있습니다.

 

3. 주의할 점

  • reverse()원본을 직접 변경합니다.
  • 원본 문자열을 보존하고 싶다면 toString()으로 복사한 뒤 사용하는 것이 안전합니다.
StringBuffer sb = new StringBuffer("Java");
String reversed = new StringBuffer(sb.toString()).reverse().toString();

System.out.println("원본: " + sb.toString());     // Java
System.out.println("뒤집힌 문자열: " + reversed); // avaJ

 

4. 정리

  • reverse()는 문자열을 거꾸로 뒤집는 메서드
  • 숫자 처리, 회문 검사, 문자열 변형 등에 자주 사용
  • 원본 자체가 변경됨 → 필요시 복사해서 사용
  • 스레드 안전 (synchronized)

 

🔑 한 줄 정리
👉 문자열을 뒤집을 때는 반복문 대신 StringBuffer.reverse() 한 줄이면 충분하다!

 

 

반응형
Comments