본문 바로가기

개발일지

개발일지 16 - StringBuilder

StringBuilder

문자열에 다른 문자열을 더하는 경우에 보통은 String 객체에 다른 문자열을 더하는 방식을 많이 사용한다. 하지만 이 방법은 그 때마다 계속해서 새로운 객체를 생성하므로 그 숫자가 많아지면 성능적으로 많은 저하가 일어난다고 한다.그래서 사용할 수 있는 것이 StringBuilder 라고 한다. StringBuilder는 새로운 객체를 생성하는 것이 아닌 기존에 데이터에 문자열을 더하는 방식을 사용한다. 따라서 문자열을 더하는 연산을 많이 수행해야 한다면 StringBuilder를 사용하는 것이 좋을 것 같다.

 

StringBuilder sb = new StringBuilder();
sb.append("abc").append("def"); // 문자열 추가 "abcdef"
sb.replace(0,2,"gg"); // 특정위치 문자열 교체 "ggcdef"
String sbSub = sb.substring(2,4); // 특정위치 문자열 추출(인덱스가 하나라면 인덱스 ~ 끝까지)
sb.delete(0,2);  // 특정위치 문자열 삭제 "cdef"
sb.reverse(); // 문자열 뒤집기 "fedc"

 

이외에도 다양한 메소드들이 있다. 앞으로 개발에 있어서 StringBuilder의 사용은 꾸준히 있을 것 같으니 익힐 수 있도록 노력해야겠다.