[Java] StringBuilder, StringBuffer - 문자열을 합칠 때

MSU·2023년 11월 21일

JAVA

목록 보기
1/28

처음 자바나 프로그래밍을 배울 때 문자열을 더하기 위해서는 덧셈(+)연산자나 concat을 사용하는것으로 처음 배웠을 테지만 그렇게 할 경우 String 객체를 매번 새로 생성하여 결과물을 저장하고 해당 객체를 참조하기때문에 문자열이 많은 경우에는 비효율적이라고 한다.

따라서 문자열을 많이 다루는 경우에는 SringBuilder 또는 StringBuffer를 사용하는 것이 성능이 더 좋다고 한다.

StringBuilder와 StringBuffer의 차이

StringBuilder : 단일 스레드 환경인 경우
StringBuffer : 멀티 스레드 환경인 경우

둘 다 제공하는 메서드는 동일함

예시 코드

String text1 = "Hello";
String text2 = "World";

//덧셈 연산자를 사용하는 경우
String newString1 = text1+text2;

//concat 메서드를 사용하는 경우
String newString2 = text1.concat(text2);

//StringBuilder 사용하는 경우
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(text1);
stringBuilder.append(text2);
String newString3 = stringBuilder.toString();

자바 1.5 버전 이후에는 덧셈 연산자 사용할 때 StringBuilder방식과 동일하게 작동한다고 한다.

profile
안드로이드공부

0개의 댓글