일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- oracle
- DBeaver
- 상태코드
- db
- git
- 디비버
- 보안
- java
- svn
- Eclipse
- Tomcat
- 오라클
- Redis
- 인텔리제이
- Linux
- HTTP
- 모바텀
- 자바스크립트
- JQuery
- Server
- 이클립스
- 자바문법
- mybatis
- 마이바티스
- IntelliJ
- SQL
- 톰캣
- 자바
- Javascript
- JSON
- Today
- Total
JongTachi의 개발 블로그
[Java Syntax] StringBuilder (문자열 class) 본문
자바에서 문자열을 효율적으로 처리하기 위해 사용하는
StringBuilder를 소개해드리겠습니다.
1. What is StringBuilder?
'StringBuilder'는 가변(mutable)하며, 문자열의 변경 작업이 필요한 경우에 사용됩니다.
반면 'String' 클래스는 불변(immutable)하므로 문자열을 변경할 때마다 새로운 문자열 객체가 생성됩니다.
StringBuilder는 문자열을 빠르게 수정하고 조작할 수 있도록 설계되어 있습니다.
여러가지 메서드를 통해 문자열을 추가, 삭제, 문자열의 일부를 교체하는 작업등이 가능합니다.
일반적으로 문자열을 빈번하게 변경해야 하는 경우에 StringBuilder를 사용하는 것이 성능상에 좋습니다.
예를 들자면 반복문 안에서 문자열을 계속해서 더하거나 변경하는 경우에는 StringBuilder를 사용하면 매번 새로운 문자열 객체를 생성하지 않고 기존 객체를 수정하여 성능을 향상시킬 수 있기 때문입니다.
2. StringBuilder 간단 예제
1) appand() : 문자열 추가
2) insert() : 문자열 삽입
3) delete() : 문자열 삭제
4) toString() : 'String'로 변환
public class StringBuilderExample {
public static void main(String[] args) {
StringBuilder stringBuilder = new StringBuilder();
// 문자열 추가
stringBuilder.append("Hello, ");
stringBuilder.append("World!");
// 문자열 삽입
stringBuilder.insert(7, "Java ");
// 문자열 삭제
stringBuilder.delete(5, 7);
// 문자열 출력
System.out.println(stringBuilder.toString());
}
}
3. StringBuilder 추가 메서드
1) length() : 현재 StringBuilder에 있는 1문자열의 길이를 반환
StringBuilder stringBuilder = new StringBuilder("Hello, World!");
int length = stringBuilder.length(); // length는 13
2) charAt(int index) : 주어진 인덱스에 있는 문자 반환
StringBuilder stringBuilder = new StringBuilder("Hello, World!");
char charAtIndex = stringBuilder.charAt(7); // charAtIndex는 'W'
3) substring(int start) or substring(int start, int end) : 문자열의 일부분 추출
StringBuilder stringBuilder = new StringBuilder("Hello, World!");
String substring1 = stringBuilder.substring(7); // "World!"
String substring2 = stringBuilder.substring(7, 12); // "World"
4) replace(int start, int end, String str) : 주어진 범위의 문자열을 지정된 새 문자열로 대체
StringBuilder stringBuilder = new StringBuilder("Hello, World!");
stringBuilder.replace(7, 12, "Universe"); // "Hello, Universe!"
5) reverse() : 문자열 뒤집기
StringBuilder stringBuilder = new StringBuilder("Hello, World!");
stringBuilder.reverse(); // "!esrevinU ,olleH"
6) indexOf(String str) or lastIndexOf(String str) : 주어진 문자열이나 문자의 첫 번째 등장 위치를 찾는다.
StringBuilder stringBuilder = new StringBuilder("Hello, World!");
int indexOfWorld = stringBuilder.indexOf("World"); // indexOfWorld는 7
int lastIndexOfl = stringBuilder.lastIndexOf("l"); // lastIndexOfl은 10
'Java > Java Syntax' 카테고리의 다른 글
[Java Syntax] Java에서 int와 Integer의 차이 (Null 값 허용 여부) (0) | 2023.11.22 |
---|---|
[Java Syntax] isDigit() 메서드 (문자열 숫자 여부 확인) (0) | 2023.11.17 |
[Java Syntax] 향상된 for문에서 List값 비교하기 (0) | 2023.11.12 |
[Java Syntax] Array(배열) 정렬 (0) | 2023.11.01 |
[Java Syntax] Java 문자열 비교 ==, equals() (1) | 2023.10.27 |