백엔드개발/Java

[JAVA] StringBuilder

aaahyunseo 2024. 10. 12. 03:18

백준 문제 풀면서

구글링하다가

BufferedWriter가 아닌

StringBuilder를 쓰는 것을 보고

대체 뭔지 궁금해서

찾아봄

StringBuilder는 이름 그대로

여러가지 문자열을

합해줄 때 유용하게 쓰임.

StringBuilder.append()의 형태로 쓰이는데

추가할 문자열을 계속 append로

써주면 됨.

append 말고도

다른 메서드들을 활용해서

인덱싱으로 문자열을

추가 혹은 삭제, 대체, reverse 등도 가능함.

위 코드에서

문자열을 출력할 때

System.out.println(sb.toString());

으로 출력해줬는데

사실

System.out.println(sb);

로 입력해도

동일하게 출력됨.

그래서 toString() 메서드의 사용 이유를 찾아봤는데

불변의 string형태로 저장시키기 위함

원래 string형 자체가

한 번 입력하면 변하지 않는 불변의 객체인데

StringBuilder를 사용하면

toString을 쓰기 전까지

append() 혹은 remove() 등의 메서드로

문자열 수정이 가능해짐.

즉 toString은 우리가 원래 쓰던 불변의 string형으로

변경해주는 역할인 것.