-
[Java 자바] 11. 기본 API 클래스 ⑥ StringBuffer, StringBuilder 클래스Programming/Java 2022. 9. 4. 21:41반응형
11-7. StringBuffer, StringBuilder 클래스
- 문자열을 저장하는 String 내부의 문자열을 수정할 수 없음
- replace()메소드나 +연산의 경우, 기존 String객체를 수정하는 것이 아닌 새로운 String 객체를 생성하여 그를 참조하게 함- 문자를 결합하는 + 연산자를 많이 사용할 수록 String 객체의 수가 늘어나고 프로그램 성능 저하의 요인이 됨
=> StringBuffer 또는 StringBuilder 클래스를 이용해 임시로 문자열을 저장하고 추가, 수정, 삭제 작업을 진행
- StringBuffer은 멀티 스레드 환경에서 사용할 수 있도록 동기화가 적용되어 스레드에 안전
- StringBuilder는 단일 스레드 환경에서만 사용하도록 설계
11-7-1. StringBuilder 클래스
메소드 설명 append(...) 문자열 끝에 주어진 매개값을 추가 insert(int offset, ...) 문자열 중간인덱스(offset)에 주어진 매개값을 추가 delete(int start, int end) start index부터 end index 전까지의 문자열 삭제 deleteCharAt(int index) 문자열에서 주어진 Index의 문자열 삭제 replace(int start, int end, String str) start index부터 end index 전까지의 문자열을 str로 대체 reverse() 문자열의 순서를 뒤바꿈 setCharAt(int index, char ch) 문자열에서 주어진 Index의 문자를 다른 문자로 대치 StringBuilder sb = new StringBuilder(); sb.append("Erin"); sb.append("'s blog"); System.out.println(sb.toString()); // Erin's blog sb.insert(0, "It's "); System.out.println(sb.toString()); // It's Erin's blog sb.setCharAt(5, 'e'); System.out.println(sb.toString()); // It's erin's blog sb.replace(0, 5, "Welcome to "); System.out.println(sb.toString()); // Welcome to erin's blog sb.delete(0, 11); System.out.println(sb.toString()); // erin's blog
반응형'Programming > Java' 카테고리의 다른 글
[Java 자바] 11. 기본 API 클래스 ⑧ Wrapper(포장), Math, Random 클래스 (0) 2022.09.04 [Java 자바] 11. 기본 API 클래스 ⑦ Arrays 클래스 (0) 2022.09.04 [Java 자바] 11. 기본 API 클래스 ⑤ StringTokenizer 클래스 (0) 2022.09.04 [Java 자바] 11. 기본 API 클래스 ④ String 클래스 (0) 2022.09.04 [Java 자바] 11. 기본 API 클래스 ③ Objects 클래스 (0) 2022.08.10