반응형
Java에서 문자열을 사용할 때, 자주 보이는 클래스 String, StringBuffer, StringBuilder 차이점을 알아봅시다.
1. String
- String은 불변(immutable)한 문자열을 나타내는 클래스입니다.
- 문자열을 변경할 경우, 기존 문자열 객체를 변경하는 것이 아니라 새로운 문자열 객체를 생성합니다.
- 멀티 스레드 환경에서 안전합니다.
String str = "hello";
str = str + " world"; // "hello world" 문자열 생성
2. StringBuilder
- StringBuilder는 가변(mutable)한 문자열을 나타내는 클래스입니다.
- 문자열을 변경할 때, 기존 객체를 변경하며, 새로운 객체를 생성하지 않습니다.
- 멀티 스레드 환경에서 안전하지 않습니다.
StringBuilder sb = new StringBuilder("hello");
sb.append(" world"); // "hello world" 문자열 생성
3. StringBuffer
- StringBuffer는 StringBuilder와 기능이 거의 동일하지만, 멀티 스레드 환경에서 안전합니다.
- StringBuilder와 달리 동기화를 지원하므로, 스레드 안전성을 보장합니다.
StringBuffer sb = new StringBuffer("hello");
sb.append(" world"); // "hello world" 문자열 생성
반응형
'프로그래밍언어 > JAVA' 카테고리의 다른 글
[Java8] Optional을 사용할 때 주의해야 할 사항과 관련된 예제 소스 (0) | 2024.06.12 |
---|---|
[Java] 가변객체, 불변객체 (1) | 2023.03.30 |
[JAVA] StringBuilder 메서드 별 간단한 사용 예제 (0) | 2023.03.29 |
[JAVA] 다형성 간단한 예제 및 설명 (0) | 2023.03.03 |
[JAVA] Functional Interface 함수형 인터페이스 (1) | 2023.01.02 |