본문 바로가기
java

[Java] StringBuilder

by 장인이 2023. 5. 29.

1. 개요

 이번 게시물에서는 StringBuilder에 대해 작성해 볼 것이다.

 

 

2. 일반적인 문자열 덧셈

String a = "Hello";
String b = " String";
String c = "Builder!";
String result = a + b + c;
System.out.println(result);

일반적으로는 위와 같이 문자열 덧셈 연산자를 활용하여 사용한다. 하지만, 이를 성능적인 측면에서 봐보자.

 

String a = "Hello";
String b= " hi";
a += b;

 String은 불변(immutable) 객체이다. 즉, 한번 만들어지면 그 값을 수정할 수 없는 객체이다. 위의 예시를 보자. a += b가 계산될 때, String 객체는 불변이므로 새로운 String 객체를 만들어서 a에 집어넣게 되는 것이다.

 

 이 문제점은 문자열을 여러 번 더하게 될 경우 심각성이 커지게 된다.

 

 

3. StringBuilder

 그래서 사용하는 클래스가 StringBuilder이다. String과 다르게, StringBuilder는 변경 가능한 문자열을 만들어 주기 때문에 효율적으로 작업을 진행하게 된다.

 

StringBuilder sb = new StringBuilder();
sb.append("Hello").append(" String").append("Builder!");
String str = sb.toString()

// 같은 값 출력됨
System.out.println(str);
System.out.println(sb);

 StringBuilder 객체를 생성한 후, append() 함수로 더하고자 하는 문자열들을 추가해준다. 전체 결과를 String 변수에 넣고싶으면 .toString()을, 혹은 바로 출력해도 된다.

'java' 카테고리의 다른 글

[Java] Stream 이란, Stream의 필요성 - 1  (0) 2024.05.02
[Java] String.repeat()  (0) 2023.05.31
[Java] 코테 준비를 위한 입출력  (0) 2023.05.29
자바(Java) - static import  (0) 2022.12.17

댓글