성장일기

사용 이유 


 String은 불변(immutable)객체라고 한다. String str1 = "abc";, String str2 = "def" 2개의 String객체가 있을 때, str1+str2와 같은 연산을 하게되면 새로운 String을 생성한다.

 

 String객체와 String객체를 더하는 행위는 메모리 할당과 메모리 해제를 발생시키며 더하는 연산이 많아진다면 성능적으로 좋지 않다.

 

 

StringBuilder


 그래서 나온 것이 StringBuilder이다.

StringBuilder는 String과 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 더하는 방식을 사용하기 때문에 속도도 빠르며 부하가 적다.

 

 

 따라서 긴 문자열을 더하거나 더하는 상황이 반복되는 경우에 StringBuilder를 사용하면 좋다.

 

 

사용법


StringBuilder sb = new StringBuilder();

sb.append("ABC");
sb.append("DEF");

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

 

각종 메소드


sb.append(값)

- StringBuffer, StringBuilder 뒤에 값을 붙인다

 

sb.insert(인덱스, 값)

- 특정 인덱스부터 값을 삽입한다

 

sb.delete(인덱스, 인덱스)

- 특정 인덱스부터 인덱스까지 값을 삭제한다

 

sb.indexOf(값)

- 값이 어느 인덱스에 들어있는지 확인한다

 

sb.substring(인덱스, 인덱스)

- 인덱스부터 인덱스까지 값을 잘라온다

 

sb.length()

- 길이 확인

 

sb.replace(인덱스, 인덱스, 값)

- 인덱스부터 인덱스까지 값으로 변경

 

sb.reverse()

- 글자 순서를 뒤집는다

공유하기

facebook twitter kakaoTalk kakaostory naver band