study/java

자바[JAVA] StringBuilder

박허디 2024. 6. 25. 09:33
String str1 = "Hello ";
String str2 = "Java";
str1 += str2;

System.out.println(str1); //"Hello Java"

 

이와 같이 2개의 string 객체가 있을 때 str1 + str2 연산을 하게 되면 새로운 String을 생성한다.

String 객체는 한 번 생성되면 변경할 수 없어 위와 같이 + 연산자를 사용해 문자열을 연결하면 연결할 때마다 새로운

문자열 객체가 생성된다 따라서 String객체와 String객체를 더하는 행동은 메모리 할당과 메모리 해제를 발생시키고 연산이 많아지면 성능적으로 안 좋다.

 

위 같은 문제를 해결하기 위해 StringBuilder를 쓴다 StringBuilder는 String과 다르게 값이 변할 수 있다

StringBuilder는 String과 문자열을 더 할 때 새로운 객체 생성을 하는 게 아니라 기존의 데이터에 더하는 방식을 사용해 성능적으로도 더 좋다.

 

 

기본생성자는 아래와 같다

StringBuilder sb = new StringBuilder();

 

 

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("abc").append("\n");
        sb.append(4);
        System.out.print(sb.toString());
    }
}

위와 같이 이용하면 아래와 같이 출력된다.

abc
4

 

'study > java' 카테고리의 다른 글

자바[JAVA] HashSet  (0) 2024.06.28
자바[JAVA] 배열 오름차순 함수 Arrays.sort()  (0) 2024.06.22
자바[JAVA] while 반복문  (0) 2024.06.18
자바[JAVA] for 반복문  (0) 2024.06.17
자바[JAVA] 조건문  (0) 2024.06.14