관리 메뉴

JUNGKIMHOON

[Java] String, StringBuffer, StringBuilder 본문

Java

[Java] String, StringBuffer, StringBuilder

JUNGKIMHOON 2020. 10. 18. 14:59

java

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!

 

참고 : qlyh8.tistory.com/69?category=743165

'Java' 카테고리의 다른 글

[Java] Singleton pattern  (0) 2020.10.19
Comments