728x90
StringBuilder
- StringBuilder는 문자열을 변경하거나 이어붙이는 경우 추가 메모리 생성 없이 기존 문자열이 확장.
- String과 다르게 문자열이 빈번하게 변경될 때 사용하면 성능이 좋다.
- StringBuilder는 멀티쓰레드 환경에서 문자열의 안전한 변경을 보장해주지 않는 특징이 있다.
- 즉, 여러 쓰레드가 문자열에 동시 접근, 변경이 이루어지면 수행결과가 올바르지 않는 것을 의미.
StringBuilder 사용법
public class Main
{
public static void main(String[] args)
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("문자열 ").append("연결");
// String str = stringBuilder; // String에 StringBuilder를 그대로 넣을 순 없다.
String str = stringBuilder.toString(); // toString()사용
// 두 println()은 같은 값을 출력한다
System.out.println(stringBuilder);
System.out.println(str);
}
}
StringBuilder 주요 메소드
- append() - 문자열 추가
- capacity() - 현재 char[] 배열이 가진 사이즈 정보를 반환
- delete() - 매개변수로 전달받은 인덱스 사이의 문자열 제거
- deleteCharAt() - 특정 인덱스의 한 문자만 삭제
- insert() - 특정 위치에 문자열 삽입
- reverse() - 문자열을 거꾸로 뒤집어 반환
- setCharAt() - 특정 위치의 문자 변경
- setLength() - 문자열 길이 조정
- trimToSize() - 문자열이 저장된 char[] 배열 사이즈를 현재 문자열 길이와 동일하게 조정
728x90
'Java & Spring' 카테고리의 다른 글
[JAVA] Immutable Object(불변객체) (0) | 2022.03.22 |
---|---|
[JAVA] String, StringBuilder, StringBuffer 차이 (0) | 2022.03.21 |
[JAVA] contains() 사용법. 특정 문자열 포함 여부 (0) | 2022.03.19 |
[JAVA] compareToIgnoreCase() 문자열 대소문자 구분 없이 비교 (0) | 2022.03.18 |
[JAVA] compareTo() 사용법. 문자열/숫자 비교 (0) | 2022.03.17 |