본문 바로가기

JAVA

StringBuilder 를 왜 쓸까?

반응형

for문을 통해 += 을 통해 String 형태의 값을 result로 만드는 경우가 있었는데

그 경우 평소처럼 result += 형식으로 result를 만들었다.

 

다른 형식의 코드는 뭐가 있나 둘러보니 StringBuilder 를 다들 사용하는 것 같았다.

 

나도 코딩하면서 종종 보긴 했지만 이미 아는 형식만 사용하다보니 잘 사용은 안했는데..

이유가 있겠지 하고 조사를 좀 해봤다.

 


String  은 for문마다 새로운 객체를 생성한다.(불변)

그렇기 떄문에 반복되는 for문의 경우 String 을 통한 객체 생성은 비효율적이다.

 

하지만 StringBuilder 는 선언을 먼저 때리면 기존의 데이터를 변경하기 때문에 효율적이다.(가변)

StringBuilder 의 버퍼에 크기를 초기에 할당 후 문자열이 추가로 들어올 때 마다 관리해준다고 한다.

 

똑똑한 스트링빌더녀석..

 

예시코드

StringBuilder sb = new StringBuilder();
sb.append("ㅎ2ㅎ2");
sb.append("ㅂ2ㅂ2");

String result = sb.toString();​

 

append 말고 더 쓸게 있나 알아보자

 

문자열 뒤집기 : reverse()

지정 인덱스 문자 반환 : charAt(int index)

 

나머진 딱히 안쓸 것 같아서 패스

반응형

'JAVA' 카테고리의 다른 글

FOR문은 효율적일까? ExecutorService 사용법  (0) 2024.05.02
ajax 데이터 제어 @RequestParam @RequestBody  (0) 2022.08.21
int 와 Integer 의 차이점  (0) 2022.03.23
싱글톤  (0) 2022.03.02