JAVA - StringBuilder

전일규·2022년 5월 10일
0

* StringBuilder 란?

StringBuilder 란, 말 그대로 String 을 만드는 객체이다.

Java 에서는 String 데이터 변경을 위해

StringBuilder 로 변경한 후 append 혹은 insert 등의 기능으로 처리할 수 있다.

* StringBuilder 사용법

Stringbuilder 사용법을 알아보기에 앞서 이해를 돕기위해 일반적인 String 으로
처리하는 방법을 봐보자.

  • 연산자로 String 을 처리할시
    String c = "A" + "B" + "a";
    c = "AB" + "A";
    c = "ABC";

  • 로 문자열 A, B, C 를 합친다고 하였을때에는 위와같은 과정으로 처리가 되는데
    메모리 상에서는 총 A, B, A, AB, ABA 가 들어갈 메모리 공간을 차지하게 되는것이다.
    3개의 문자열을 합칠때에도 5개의 메모리 공간이 사용되는데 더 길어진다면 말할것도
    없을것이다.

이제 StringBuffer 로 처리를 했을때를 보자.

StringBuilder stringbuilder = new StringBuilder();
stringBuilder.append("A");
stringBuilder.append("B");
stringBuilder.append("C");
stringBuilder.toString();

일반적인 String 과 다르게 StringBuilder로 문자열을 합치게 되면
append로 인해 뒤에 계속해서 문자가 붙게 된다.
마지막으로 StringBuilder로 처리한 무자열을 String 으로 변환하기 위해서는 .toString()
을 사용해야 한다.

append 메서드 내부코드

public AbstractStringBuilder append(String str) {
if (str == null) return appendNull();
int len = str.length();
ensureCapacityInternal(count + len);
str.getChars(0, len, value, count); count += len;
return this;
}

profile
코알못극복까지

0개의 댓글