: 아무 값도 가지고 있지 않은 String 객체이다.
StringBuilder 사용 예시
StringBuilder sb = new StringBuilder();
// 해당 StringBuilder에 "hello", 공백, "world"를 차례대로 추가
sb.append("hello");
sb.append(" ");
sb.append("world");
// StringBuilder 추가된 값을 toString()메소드를 이용하여 반환
String str = sb.toString();
출력결과: hello world
StringBuilder 가지고 있는 메소드들은 대부분 자기자신, this를 반환
StringBuilder sb2 = new StringBuilder();
StringBuilder sb3 = sb2.append("hello");
if(sb2 == sb3){
System.out.println("sb2 == sb3");
}
String str2 = new StringBuilder().append("hello").append(" ").append("world").toString();
System.out.println(str2);
StringBuilder 관련 메소드
StringBuilder sb = new StringBuilder();
sb.append('a');
sb.append('b');
sb.append('c');
System.out.println(sb);
// 출력: abc
StringBuilder sb = new StringBuilder();
sb.append('a');
sb.append('b');
sb.append('c');
sb.deleteCharAt(1);
System.out.println(sb);
// 출력: ac
StringBuilder name = new StringBuilder("starfucks");
name.setCharAt(4, 'b');
System.out.println(name); // starbucks
String str = "Reverse";
String reversedStr = new StringBuilder(str).reverse().toString();
System.out.println(reversedStr);
// 출력: esreveR
StringBuilder와 StringBuffer의 차이점
StringBuilder와 StringBuffer는 모두 문자열을 변경 가능한 가변적인 형태로 다루는 클래스이다. 하지만 두 클래스 간에 중요한 차이점이 있다.