본문 바로가기
Programming/JAVA(eclipse)

java 11일차 _ 01. 유틸리티 클래스( StringBuilder 클래스 )

by yoon9i 2024. 3. 22.

2) java.lang.StringBuilder 클래스

가. 사용방법

StringBuilder sb = new StringBuilder("hello");

나. 메서드 ( 특징: append, insert, delete, )

package exam19_Util;

public class Util02_StringBuilder {
	
	public static void main(String[] args) {
		
		// 1. 생성
		StringBuilder sb = new StringBuilder("hello");
		
		// 2. 메서드
		System.out.println("1. 값출력: " + sb); // sb.toString() 동일 // >>> hello
		// toString() 은 object 에 있는데 원래대로라면 주소값이 나와야하지만 재정의해서 출력되도록 하였다.
		
		// sb 뒤에 계속 값을 추가해준다.
		System.out.println("2. 값 추가: " + sb.append(true)); // >>> hellotrue
		System.out.println("2. 값 추가: " + sb.append(100)); // >>> hellotrue100
		System.out.println("2. 값 추가: " + sb.append(3.14)); // >>> hellotrue1003.14
		System.out.println("2. 값 추가: " + sb.append("world")); // >>> hellotrue1003.14world
		System.out.println("2. 값 추가: " + sb.append(new char[] { 'A','B' } )); // >>> hellotrue1003.14worldAB
		// 원본이 변경이 된다.
		
		// 0 번째에 홍길동 삽입
		System.out.println("3. 값 삽입: " + sb.insert(0, "홍길동")); // >>> 홍길동hellotrue1003.14worldAB
		// 0 번째 부터 2번재까지 삭제
		System.out.println("4. 값 삭제: " + sb.delete(0, 3)); // >>> hellotrue1003.14worldAB
		// 0 번째 삭제
		System.out.println("4. 값 삭제: " + sb.deleteCharAt(0)); // >>> ellotrue1003.14worldAB
		// 뒤에서 부터 출력
		System.out.println("5. 값 거꾸로: " + sb.reverse()); // >>> BAdlrow41.3001eurtolle
		
		
		// String 에서도 제공되었던 메서드
		System.out.println("6. 길이: " + sb.length()); // >>> 22
		System.out.println("7. 특정문자얻기: " + sb.charAt(0)); // >>> B
		System.out.println("8. 특정문자 위치얻기: " + sb.indexOf("w")); // >>> 6
		System.out.println("9. 부분열: " + sb.substring(6)); // >>> w41.3001eurtolle
		System.out.println("9. 부분열: " + sb.substring(6,7)); // >>> w
		
		// StringBuilder --> String
		String xxx = sb.toString();
		System.out.println(xxx); // >>> BAdlrow41.3001eurtolle
	}
}

 

다. 특징
- StringBuilder 는 한번 생성하면 변경도 가능하다. ( 버퍼 기능 )
  문자열 값을 변경하는 작업이 빈번하다면 StringBuilder 사용을 지향
  해야된다.