반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- Eclipse
- 이탈리아
- 배열
- 자바스크립트
- 자바
- Visual Studio Code
- vscode
- CSS
- Array
- Button
- input
- string
- 인텔리제이
- ArrayList
- date
- Java
- js
- list
- 테이블
- Maven
- 이클립스
- table
- javascript
- 문자열
- json
- html
- windows
- 정규식
- IntelliJ
- CMD
Archives
- Today
- Total
어제 오늘 내일
[Java StringBuffer] reverse() – 문자열 뒤집기 본문
문자열을 거꾸로 뒤집는 로직은 알고리즘 문제나 문자열 처리에서 자주 등장합니다.
반복문을 직접 작성할 수도 있지만, 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()
한 줄이면 충분하다!
반응형
'IT > Java' 카테고리의 다른 글
[Java 기초] Arrays.copyOf()로 배열 복사하기 (0) | 2025.08.27 |
---|---|
[Java 기초] Arrays.sort() vs Collections.sort() 차이 정리 (0) | 2025.08.27 |
[Java 기초] Arrays.sort()로 배열 정렬하기 (1) | 2025.08.26 |
[Java String] String.indexOf() – 문자열에서 위치 찾기 (0) | 2025.08.26 |
[Java 기초] Arrays.fill()로 배열 값 초기화하기 (1) | 2025.08.25 |
Comments