-
String, StringBuffer, StringBuilder의 차이프로그래밍/오늘 공부 2019. 5. 16. 15:39
String, StringBuffer, StringBuilder의 차이
작년까지는 항상
String
을 이용하다가 서버개발을 공부하기 시작하며StringBuffer
를 많이 사용하기 시작했다. 처음에 성능 떄문인 것으로 알고 있었는데 그렇다면StringBuffer
와StringBuilder
의 차이는 또 무엇일 지 알아보자.String
String
클래스는 Immutable객체이다. 따라서,+
연산이나 concat에서 새로운 인스턴스를 생성하기 때문에 성능 문제가 있었다. 하지만 JDK 1.5 이상부터는 컴파일시 내부적으로StringBuilder
로 변환된다.StringBuilder
위의 String 클래스가 +연산이나 concat연산에 취약하기 때문에, 이러한 단점을 해결하기 좋은 클래스로,
append
함수를 사용하여 String을 더하고,toString
메소드로 String으로 변환한다.StringBuffer
StringBuffer와 같은 역할을 하지만, StringBuffer 는 thread-safe하다는 장점이 있다. 이 때문에 다중스레드 환경에서는 StringBuffer를 사용하는 것이 좋다.
'프로그래밍 > 오늘 공부' 카테고리의 다른 글
[우아한테크세미나] 우아한 스프링 배치 후기 (1) 2019.09.26 2019.01.08 공부한 것 (0) 2019.01.08