티스토리 뷰

Kotlin

[Kotlin]  String  vs  StringBuffer  vs  StringBuilder

혀가 길지 않은 개발자 2020. 10. 26. 00:14

String  vs  StringBuffer  vs  StringBuilder


String

  -  문자열 삽입, 삭제, 수정이 많지 않을 때 사용하기 적합

  -  불변(immutable) 객체

  -  문자열이 수정될 때마다 새로운 객체가 Heap에 생성됨

  -  불변성을 가지므로 멀티 스레드 환경에서 안전 (Thread-Safe)

 

StringBuffer

  -  가변(mutable) 객체

  -  문자열 삽입, 삭제, 수정이 빈번하게 발생 시 사용하기 적합

  -  synchronized 키워드를 사용하여 멀티 스레드 환경에서 안전 (Thread-Safe)

 

StringBuilder

  -  가변(mutable) 객체

  -  문자열 삽입, 삭제, 수정이 빈번하게 발생 시 사용하기 적합

  -  동기화를 지원하지 않음

  -  단일 스레드의 성능이 StringBuffer 보다 뛰어남

 

 

fun main() {

    var str = "James"
    str = "James Kim"

    var strBuffer = StringBuffer("James")
    strBuffer.append(" Kim")

    var strBuilder = StringBuilder("James")
    strBuilder.append(" Kim")

    println(str)
    println(strBuffer)
    println(strBuilder)

}

실행 결과

 

 

 

 

'Kotlin' 카테고리의 다른 글

[Kotlin] open  vs  abstract  (0) 2021.04.05
[Kotlin] 확장 함수  (0) 2021.04.05
[Kotlin] 선형리스트(ArrayList)  vs  연결리스트(LinkedList)  (0) 2020.10.22
[Kotlin]  for  (0) 2020.09.29
[Kotlin]  Kotlin 배열에 대한 고찰  (0) 2020.09.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함