티스토리 뷰

Java

[Java]  String  vs  StringBuffer  vs  StringBuilder

혀가 길지 않은 개발자 2020. 10. 25. 23:44

String  vs  StringBuffer  vs  StringBuilder


String

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

  -  불변(immutable) 객체

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

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

 

StringBuffer

  -  가변(mutable) 객체

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

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

 

StringBuilder

  -  가변(mutable) 객체

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

  -  동기화를 지원하지 않음

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

 

 

public class JavaTest {
    public static void main(String[] args) {
        String str = "James";
        str = "James Kim";

        StringBuffer strBuffer = new StringBuffer("James");
        strBuffer.append(" Kim");

        StringBuilder strBuilder = new StringBuilder("James");
        strBuilder.append(" Kim");

        System.out.println(str);
        System.out.println(strBuffer);
        System.out.println(strBuilder);
    }
}

실행 결과

 

 

 

 

 

'Java' 카테고리의 다른 글

[Java]  Wrapper 클래스  (0) 2020.09.28
[Java]  Java 2차원 배열  (0) 2020.09.28
[Java]  Java 배열  (0) 2020.09.28
[Java]  LinkedHashSet  (0) 2020.09.03
[Java]  TreeSet  (0) 2020.09.03
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함