: 문자열을 추가하거나 변경 할 때 사용.
: 객체를 먼저 생성한후 메소드로 기능 추가.
: 비슷한 자료형으로 StringBuilder가 있지만 멀티스레드 환경에서는 StringBuffer가 더 안전.
1. append()
: 문자열을 생성하는 기능.
ex 1)
StringBuffer sb = new StringBuffer(); // 객체 생성
sb.append("hello");
sb.append(" ")
sb.append("I'm");
sb.append(" ")
sb.append("sojin");
String a = sb.toString(); // toString으로 sb에 담긴 문자열 한번에 나열
system.out.println(a);
실행 결과
hello I'm sojin
ex 2) String자료형으로만 표현할 때
String a = ""; //비어있는 String 타입의 변수 a
a += "hello"; // 새로운 String 객체가 생성되어 a 에 합성
a += " ";
a += "I'm sojin";
system.out.println(a);
실행 결과
hello I'm sojin
2. insert()
: 특정 위치에 원하는 문자열을 삽입.
ex)
StringBuffer sb= new StringBuffer();
sb.append ("I'm sojin"); // 객체로 문자열 생성
sb.insert(0,"hello"); // 0번 인덱스 자리에 문자열 추가
system.out.println(sb.toString());
실행 결과
hello I'm sojin
3.substring()
: String class 의 substring 메소드와 동일하게 시작위치와 끝 위치를 지정해주면 지정한 만큼 문자열을 추출.
ex)
StringBuffer sb = new StringBuffer ();
sb.append ("hello I'm sojin");
system.out.println(sb.substring(0,5)); // 인덱스 0번에서 5번까지만 추출해서 출력
실행 결과
hello