문자열을 연결할 수 있는 StringBuilder 사용하기
우리는 문자열을 연결할 수 있는 다양한 방법을 알고 있을텐데,
그 중 가장 쉽게 떠올리는 것이 바로 더하기(+) 연산일 것이다.
하지만, 문자열이 매우 많고, 이를 다 이어붙인다고 한다면?
문자열을 + 연산자를 사용해 연결한다는 것은 연결할 때마다 새로운 문자열 개체가 생성된다는 것을 의미하게 된다.
즉, String 객체는 한 번 생성되면 변경이 불가능하며, 하나의 문자열을 다른 문자열과 연결하면 새로운 문자열이 생겨나면서,
기존 문자열은 가비지 컬렉터로 들어간다는 것을 의미한다.
객체를 생성하는 작업은 다른 작업보다 시간이 오래 걸리게 되어 + 연산자를 이용해 문자열을 연결한다는 것은
비효율적인 코드가 된다는 것을 의미할 수 밖에 없다.
이를 고려했을 때 사용하는 것이 바로 StringBuilder이다.
StringBuilder는 변경 가능한 문자열을 만들어 String을 연결할 때 하나의 대안이 될 것이다.
사용 방법은 아래와 같다.
StringBuilder 사용하기
public class stringadd{
StringBuilder stb = new StringBuilder("a");
stb.append("b");
System.out.println(stb.toString); // 결과 : ab
}
* StringBuilder는 출력하기 위해서는 toString을 통해 변환을 시켜야 하며, String 변수에 넣을 때에도 동일하다.
[StringBuilder 메서드]
문자열을 연결(추가)하는 것 뿐아니라 변경하거나 삭제하는 동작도 가능한데, 이 때 사용하는 메서드는 아래와 같다.
1. append : 문자열을 맨 뒤에 추가
2. insert(int n, String str) : n위치에 str을 추가
3. replace(int n, int m, String str) : n~m 인덱스에 위치한 문자열을 str로 변경
4. substring(int n (, int m)) : 인덱스가 1개라면 n부터 끝까지, 2개일 경우 n~m까지 추출
5. deleteCharAt(int n) : n번째 인덱스 문자 하나 삭제
6. delete(int n, int m) : n부터 m 이전까지의 문자 삭제
7. toString() : String 변환
8. reverse() : 문자열 뒤집기
9. setCharAt(int n, String str) : n 위치 문자을 str로 변경
10. setLength(int n) : 문자열의 길이가 n 보다 길면 n까지만 남기고 삭제, 문자열의 길이가 n보다 길면 남은 공간은 공백
11. trimToSize() : 문자열이 저장된 char[] 배열 사이즈를 현재 문자열 길이와 동일하게 조정
'공부 자료 > 자바[JAVA]' 카테고리의 다른 글
| [JAVA] URL을 통해 서버와 통신하는 URLConnection/HttpURLConnection (0) | 2023.11.08 |
|---|---|
| [JAVA] URLEncoding이란? URL로 변환하기 위한 URLEncoder 사용 (0) | 2023.11.07 |
| [JAVA] ArrayList 생성자 (0) | 2023.08.30 |
| [JAVA] 객체지향 프로그래밍(OOP) 기초, 클래스, 객체 (0) | 2023.08.21 |
| [JAVA] 문자열 구분 split (구분자 여러개/특수기호 등) (0) | 2023.08.19 |