String Builder

  1. 문자열 출력
  • String 객체는 불변객체로서 한번 생성된 문자열을 변경 시킬 수 없다.
  • 그래서 기존 String 객체에 문자열을 수정시, 힙에 저장되어 있던 기존 문자열을 수정하는 것이 아닌 새로운 문자열을 생성하여 스택의 변수가 그 주소를 가르키게 된다.
    (기존 문자열은 가비지 컬렉터에 의해 메모리가 해제된다.)
  • 이러한 작업들은 내부적으로 메모리 생성과 해제 등 여러 작업이 발생하면서 성능적으로 악영향을 미치게 된다.
  1. StringBuilder
  • StringBuilder는 변경이 가능한 문자열을 만들어 기존 String에서 발생한 문제점을 해결 할 수 있다.
  • 다음 메서드들을 통해서 값 수정이 가능하다.
    • append(문자열)
      • StringBuilder 뒤에 값을 붙인다.
    • insert(index, 문자열)
      • 특정 인덱스부터 문자열을 삽입한다.
    • delete(index, index)
      • 특정 인덱스부터 인덱스까지 값을 삭제한다.
    • reverse()
      • 문자열을 뒤집는다.
  • 아래는 1부터 10까지의 값을 문자열 값으로 붙여 만드는 예제이다.
    val sb = StringBuilder()
    for(i in 0..10){
        sb.append("$i")
    }
    println(sb)

좋은 웹페이지 즐겨찾기