StringBuffer & StringBuffer 클래스
- java.lang 에 있어서 import 필요없음
- String 클래스와 무관
- 문자열 편집에 용이한 클래스
- 버퍼를 사용하여 문자열을 저장하며,편집 시 버퍼 안의 내용을 직접 조작 = String 클래스에 비해 편집 속도가 빠름
- 문자열 편집 결과에 대한 새 문자열이 생성되지 않으므로, 공간 낭비가 적음
- 두 클래스의 메서드는 거의 동일하며, 멀티쓰레드 환경에서의 차이가 존재
- 문자열 생성 시 String 클래스와 달리 리터럴 할당은 불가능하며, 객체 생성만 가능
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
31
32
33
34
35
36
37
38
39
40
41
42
|
// StringBuffer buffer = "Hello" 리터럴 할당 방법은 사용 불가!
StringBuffer buffer = new StringBuffer("하이!");
// toString() 메서드가 오버라이딩 되어 있으므로 문자열 출력이 용이함
System.out.println(buffer); // buffer.toString() 과 동일
// String str =buffer; // 변수 초기화 시 toString 생략 불가!
String str = buffer.toString();
System.out.println("문자열 길이 : " + buffer.length());
System.out.println("버퍼 크기 : " + buffer.capacity());
// append() : 문자열 뒷 부분에 새 문자열 추가(결합)
buffer.append(", 반갑습니다! 버퍼가 다차면 자동으로 버퍼 크기를 확장합니다!")
// insert() 특정 인덱스에 문자열 삽입
buffer.insert(4, "4번인덱스 뒤에 문자열 삽입!");
// revers() : 문자열 순서 뒤집기 (반전)
// StringBuffer 객체의 메서드 여러개를 호출하여 다양한 작업을 수행할 때
// 각각의 메서드를 별도로 호출할 수도 있지만
// 메서드를 연쇄적으로 연결하여 작업을 처리할 수도 있다
// StringBuffer 또는 StringBuilder 클래스의 메서드 리턴타입은 모두 자기 자신이므로
// 실행 결과에 다시 다른 메서드 적용이 가능함
StringBuffer buffer2 = new StringBuffer("Java ");
// 빌더 패턴(Builder Pattern) : 메서드 실행 결과에 다시 다른메서드를 호출 하는 것
buffer2.append("Jsp ").append("Android ").append("Spring");
String id = " admin ";
if(id.trim().equals("admin"){
System.out.println("admin 계정입니다!");
}else {
System.out.println("admin 계정이 아닙니다!");
}
//같은 타입이 아니더라도 메서드 실행 결과에 대한 다른 메서드 호출이 가능함
int num = 10;
if(Integer.toString(num).equals("10")) {
System.out.println("10임");
}
|
cs |
'Language > Java' 카테고리의 다른 글
Random 클래스 (0) | 2020.06.24 |
---|---|
Math 클래스 (0) | 2020.06.23 |
String 클래스의 메서드 (0) | 2020.06.23 |
String 클래스 (0) | 2020.06.23 |
Wrapper 클래스 (0) | 2020.06.21 |