반응형
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 |