public class Ex02_StringBuilder {
	public static void main(String[] args) {
    	StringBuilder sb = new StringBuilder();
        
        sb.append("seoul");
        String s = sb.toString().toUpperCase();
        System.out.println(s);
        
        sb.append("우리나라");
        sb.append("대한민국");
        sb.append("부산");
        
        System.out.println(sb);
        
        // seoul 앞에 한국 추가
        sb.insert(0, "한국"); // 0이 첫번째임
        System.out.println(sb);
        
        // seoul 위치를 숫자로 반환
        System.out.println(sb.indexOf("seoul")); // 2번에 있음
        
        // seoul 뒤에 인천 추가
        sb.insert(sb.indexOf("seoul")+"seoul".length(), "인천");
        // 2 + 5 = 7번째에 인천을 추가해라
        
        // 대한민국 삭제 : delete(s, e) -> s인덱스에서 e-1인덱스까지 삭제
        sb.delete(sb.indexOf("대한민국"), sb.indexOf("대한민국")+"대한민국".length());
        System.out.println(sb);
        
        // 우리나라부터 끝까지 삭제
        sb.delete(sb.indexOf("우리나라"), sb.length());
        System.out.println(sb);
        
        // 모두 삭제
        sb.delete(0, sb.length());
        System.out.println(sb);
        
    }
}

String
문자열은 상수풀에 저장(String Constant Pool)
내용불변 (Immutable) 내용이 변경되면 새로운 영역에 메모리를 할당 받아 처리하고 이전 공간은 가비지 컬렉터의 대상이 된다.
final 클래스로 하위 클래스를 가질 수 없다.

+ Recent posts