Java/java

java :) StringBuilder, StringBuffer의 개념과 사용의 이해

euncheol kim 2022. 5. 4. 17:34

 

 

goal

StringBuilder와 StringBuffer의 이해

 

1 ] StringBuilder


기본적으로 String클래스의 연산은 연산이 진행될 때 마다 새로운 인스턴스를 생성한다.

이는 시스템의 악영향을 끼칠 수 있고 대안으로 나온것이 StringBuilder이다.

StringBuilder는 String과 달리 기존의 데이터에 값을 더하는 방식을 사용한다.

  • String클래스 연산보다 빠르다
  • 메모리가 차지하는 부하가 적어진다.
StringBuilder builder = new StringBuilder();
builder.append("자바는 ").append("조금 빡쳐");
String str = builder.toString();
System.out.println(str);

image

StringBuilder로 만들어진 값을 출력하기 위해서는 toString()을 이용해야함을 잊지 않는다.

 

StringBuilder의 주요 메소드


image

 

 

2 ] StringBuffer


mutable 클래스이다. 즉, 인터턴스 값을 변경할 수 있다.

  • 인스턴스의 값을 변경함으로써 mutable객체인 String보다 메모리상 이점을 가져간다.
  • 속도 또한 상대적으로 빠르다.
  • 인스턴스의 변경이 잦은 경우 사용한다.

 

 

1. 조금 더 알아보기


StringBuffer클래스는 내부적으로 버퍼(buffer)라고 하는 독립적인 공간을 가진다.

버퍼의 크기의 기본값은 16개의 문자를 저장할 수 있는 크기이며, 생성자를 통해 그 크기를 별로로 설정할 수 있다.

그리고 StringBuffer는 사용자가 결정한 크기보다 언제나 16개의 문자를 더 저장할 수 있도록 여유있는 크기로 생성된다.

 

 

2. StringBuffer의 주요 메소드


참고링크(1) : StringBuffer API 문서

참고링크(2) : java :) StringBuffer, https://kimeuncheol.tistory.com/49, 내블로그