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 |