[JAVA] StringBuilder란?

popolarburr·2023년 1월 9일
0
post-thumbnail

1. StringBuilder란?

  • 자바를 이제 막 입문하는 입장이거나 잘 아는 사람들이 문자열을 다룬다 생각하면 자연스럽게 String을 생각할 것이다.

  • 그러나 String객체와 이를 더하는 행위는 메모리 할당과 해제가 자주 이루어져 성능면으로 좋지않다. 그래서 더 나은 성능으로 String객체를 더하기 위해서 사용하는 것이
    StringBuilder이다.


2. 사용법

  • 사용법은 간단하다. 기존 String은 생성 및 선언시 메모리가 할당되고, 변동될 경우 메모리 해제 후 새로운 메모리에 연결하는 방식인데, StringBuilder는 간단하게 먼저 할당된 메모리에 데이터를 이어 붙이는 형식이다. 즉 메모리 할당/해제가 이루어지지 않는 경우이다 !.

사용법은 이러하다.

StringBuilder sb = new StringBuilder();
sb.append("Hello ");
sb.append("World!);
System.out.println(sb.toString());
//Hello World!

  • 생성 : StringBuilder 변수명 = new StringBuilder(초기값, args[]);

    • ex) StringBuilder sb = new StringBuilder(); -> 초기값 X

    • ex) StringBuilder sb = new StringBuilder("Hello "); -> 초기값 'Hello'


  • 데이터 추가 : 변수명.append(추가 데이터);

    • ex) sb.append("My Name is ");
      ex) sb.append("@popolarburr");

  • 데이터 출력 : 변수명.toString();

    • ex) System.out.println(sb.toString());
      • 출력 : "Hello My Name is @popolarburr"

3. 사용시기

긴 길이의 문자열이나 String객체를 연결하기 사용하기에 적합하다. 짧은 문자열은 String객체를 통해서도 충분히 성능차이가 많이 나보이진 않지만 길어지고 많아지면 해당 메모리도 늘어나기에 성능 저하를 야기할 수 있다.


[출처] : https://hardlearner.tistory.com/288

profile
차곡차곡

0개의 댓글