JUNGKIMHOON
[Java] String, StringBuffer, StringBuilder 본문
String, StringBuffer, StringBuilder
String
- immutable하다. (수정할 수 없음)
- 생성된 메모리는 고정이다.
StringBuffer & StringBuilder
- mutable하다.
- 메모리가 유연하게 동작한다.
StringBuffer vs. StringBuilder
두 클래스가 제공하는 메서드는 서로 동일하나, 멀티 쓰레드 상태에서 동기화 지원 여부가 다르다.
StringBuffer는 synchronized로 동기화를 지원 / StringBuilder는 동기화 보장 X
단일 스레드 환경에서 StringBuilder가 성능이 우수하다.
StringBuilder 사용 예시
StringBuidler sb = new StringBuilder(String str); // 객체 정의
String toString() // StringBuilder 객체를 string 형으로 전환
StringBuilder append(String str) // 문자열 추가
StringBuilder insert(int offset, String str) // 문자열 삽입
StringBuilder delete(int start, int end) // 문자열 삭제
StringBuilder replace(int start, int end, String str) // 문자열 교체
StringBuilder sb = new StringBuilder("Hello");
System.out.println(sb); // Hello
sb.append(" World!"); // " World!" 추가
System.out.println(sb); // Hello World!
sb.insert(5, ", Java"); // 5번째 위치에 ", Java" 삽입
System.out.println(sb); // Hello, Java World!
sb.delete(5, 11); // 5번째 위치부터 11번째 위치 전까지 문자열 삭제
System.out.println(sb); // Hello World!
sb.replace(0, 4, "G"); // 0번째 문자부터 4번째 문자 전까지 "G"으로 교체
System.out.println(sb); // Go World!
'Java' 카테고리의 다른 글
[Java] Singleton pattern (0) | 2020.10.19 |
---|
Comments