▶ StringBuffer와 StringBuilder
String은 불변클래스지만 StringBuffer와 StringBuilder는 변하는 클래스이다.
문자열 연산이 빈번하게 일어나는 알고리즘에서 메모리이슈를 해결하기 위해 나온 클래스이다.
공통점
- 완전 동일한 메서드를 가진다.
차이점
- 예약어 하나만 다르다. ("동기화" 여부)
- StringBuffer는 멀티스레드 환경에서 유용하다
- StringBuilder는 단일스레드 환경에서 유용하다.
■ 문자열 더하기
일반적인 문자열 더하기 방법
String str = "Hello";
str += "World";
StringBuffer를 이용한 방법
StringBuffer sb = new StringBuffer("Hello");
sb.append("World");
StringBuilder를 이용한 방법
StringBuilder sb2 = new StringBuilder("Hello");
sb2.append("World,");
■ 특정위치에 문자를 없애는 메서드
sb2.deleteCharAt(sb2.length() - 1);
System.out.println(sb2);
System.out.println("o의 마지막 위치 : " + sb2.lastIndexOf("o"));
System.out.println("o의 첫번째 위치 : " + sb2.indexOf("o"));
// 0번 인덱스부터 마지막 인덱스까지 모든 문자를 삭제하겠다.
System.out.println(sb.delete(0, sb.length() - 1));
System.out.println(sb);
o의 마지막 위치 : 6
o의 첫번째 위치 : 4
d
d
'JAVA' 카테고리의 다른 글
JAVA (18-6) API (Wapper) (0) | 2023.04.11 |
---|---|
JAVA (18-5) API (StringTokenizer) (0) | 2023.04.11 |
JAVA (18-3) API (StringMethod) (0) | 2023.04.11 |
JAVA (18-2) API (StringPool) (0) | 2023.04.11 |
JAVA (18-1) API(Math) (0) | 2023.04.11 |