자바를 이제 막 입문하는 입장이거나 잘 아는 사람들이 문자열을 다룬다 생각하면 자연스럽게 String을 생각할 것이다.
그러나 String객체와 이를 더하는 행위는 메모리 할당과 해제가 자주 이루어져 성능면으로 좋지않다. 그래서 더 나은 성능으로 String객체를 더하기 위해서 사용하는 것이
StringBuilder
이다.
String
은 생성 및 선언시 메모리가 할당되고, 변동될 경우 메모리 해제 후 새로운 메모리에 연결하는 방식인데, StringBuilder
는 간단하게 먼저 할당된 메모리에 데이터를 이어 붙이는 형식이다. 즉 메모리 할당/해제가 이루어지지 않는 경우이다 !.사용법은 이러하다.
StringBuilder sb = new StringBuilder();
sb.append("Hello ");
sb.append("World!);
System.out.println(sb.toString());
//Hello World!
생성 : StringBuilder 변수명 = new StringBuilder(초기값, args[]);
ex) StringBuilder sb = new StringBuilder();
-> 초기값 X
ex) StringBuilder sb = new StringBuilder("Hello ");
-> 초기값 'Hello'
데이터 추가 : 변수명.append(추가 데이터);
데이터 출력 : 변수명.toString();
긴 길이의 문자열이나 String객체를 연결하기 사용하기에 적합하다. 짧은 문자열은 String객체를 통해서도 충분히 성능차이가 많이 나보이진 않지만 길어지고 많아지면 해당 메모리도 늘어나기에 성능 저하를 야기할 수 있다.