StringBuffer 문자열 추가/변경 객체
: 문자열을 추가하거나, 변경할 때 주로 사용하는 객체
1. 사용
- String 객체 : 문자열을 표현
- append() : 문자열 추가 끝에 추가
- insert(index,””) : 특정 위치에 문자열 추가
- substring(a,b) : 문자열 추출
- = a번지부터 b-1번지까지 추출
2. 출력 : toString()이용
StringBuffer sb = new StringBuffer();
System.out.println(sb.toString());
System.out.println(sb.substring(0, 4)); //0~3번지까지 출력
String result = sb.toString();
System.out.println(result);
3. StringBuffer String str = ""; StringBuilder
언제 무엇을 사용할까?
- 멀티스레드 환경: 여러 스레드가 동시에 문자열을 조작해야 하는 경우, StringBuffer를 사용하여 스레드 안전성을 보장.
- 단일 스레드 환경: 성능이 중요한 단일 스레드 환경에서는 StringBuilder를 사용하여 불필요한 동기화 오버헤드를 피하기.
public class StringBufferEx {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer(); //멀티스레드 환경에서 안전성이 우수
sb.append("hello");
sb.append(" ");
sb.append("java");
System.out.println(sb.toString());
String result = sb.toString();
System.out.println(result);
sb.insert(0,"hi");
System.out.println(sb.toString());
System.out.println(sb.substring(0, 4)); //4번지는 포함하지 않음
//================================================================================
String str = "";
str+= "hello";
str+= " ";
str+= "java";
System.out.println(str);
//=================================================================================
StringBuilder sb1 = new StringBuilder(); //성능이 더 좋음.
sb1.append("hello");
sb1.append(" ");
sb1.append("js");
System.out.println(sb1.toString());
}
}
'JAVA > java' 카테고리의 다른 글
[JAVA] Lambda 람다식, .forEach, (0) | 2023.09.12 |
---|---|
[JAVA] 데이터입출력 (스트림) (0) | 2023.09.12 |
[JAVA] RegularExpression 정규표현식 (0) | 2023.09.12 |
[JAVA] 제네릭 : 결정되지 않은 파라미터를 처리 (0) | 2023.09.12 |
[JAVA] 예외 처리 exception (0) | 2023.09.12 |