String
도 +
혹은 concat()
을 통해 문자열 추가 가능String
인스턴스가 새롭게 생성되며, 공간 낭비와 속도 저하 발생.append()
, delete()
동작이 발생하면, 동일 객체 내에서 문자열 크기 변경을 통해 진행equals()
를 통해 비교equals()
를 오버라이딩하지 않으며, 이로인해 ==
연산과 동일toString()
처리를 통해 String 변경 후, equals()
비교thread safe
/ StringBuilder는 thread unsafe
String | StringBuffer | StringBuilder | |
---|---|---|---|
가변 여부 | 불변 | 가변 | 가변 |
동등 비교 방식 | equals() | String으로 변경 후 equals() 비교 | String으로 변경 후 equals() 비교 |
스레드 세이프 | O | O | X |
연산 속도 | 느림 | 빠름 | 매우 빠름 |
출처
- String vs StringBuffer vs StringBuilder:
Inpa Dev-자바 String/StringBuffer/StringBuilder 차이점 & 성능 비교