Java-String, StringBuffer
1. 둘다 문자 배열(char[])
2. 배열의 크기를 늘리려면 새로운 배열을 생성해야함
3. String은 문자열 결합이 일어날때마다 항상 새로운 배열을 만들고 복사하는 과정을 거침
4. 3번의 과정은 여유 크기의 배열(StringBuffer)의 내용을 변경하는 것과 성능 차이가 있음
5. 너무 여유있게 생성하면 메모리 낭비(StringBuffer의 단점)
6. 5번을 생각하여 너무 작게 잡으면 의미 없음(그래도 String보다는 나음)
7. StringBuffer가 더 빠름.(이유 : 3번 배열의 특징)
8. String + 연산을 컴파일러가 StringBuffer로 변환함
9. 8번 컴파일러의 변환에는 한계가 있음
10. 결론은 왠만하면 String 사용(자동 변환되니까…)하고 성능상 문제가 되는 경우에 StringBuffer를 이용하여 최적화해야함
참고
- 네이버 자바초보스터디 카페
댓글
댓글 쓰기