자바 의 StringBuffer 클래스

4708 단어 StringBuffer
StringBuffer 클래스 는 String 과 마찬가지 로 문자열 을 대표 하 는 데 도 사 용 됩 니 다.다만 StringBuffer 의 내부 구현 방식 이 String 과 다 르 기 때문에 StringBuffer 는 문자열 처 리 를 할 때 새로운 대상 을 생 성하 지 않 고 메모리 에서 String 클래스 보다 우수 합 니 다.
         따라서 실제 사용 할 때 삽입,삭제 등 문자열 을 수정 해 야 할 경우 StringBuffer 를 사용 하 는 것 이 더 적합 합 니 다.
         StringBuffer 류 에는 String 류 와 같은 방법 이 많이 존재 하 는데 이런 방법 들 은 기능 적 으로 String 류 의 기능 과 완전히 같다.
         그러나 가장 현저 한 차이 점 은 StringBuffer 대상 에 대한 매번 수정 이 대상 자 체 를 바 꾸 는 것 이다.이것 은 String 류 와 가장 큰 차이 점 이다.
         또한 StringBuffer 는 스 레 드 가 안전 하기 때문에 스 레 드 의 개념 에 대해 전문 적 인 장 이 있 기 때문에 다 중 스 레 드 프로그램 에서 도 편리 하 게 사용 할 수 있 지만 프로그램의 실행 효율 은 상대 적 으로 약간 느 려 야 한다.
1.StringBuffer 대상 의 초기 화
         StringBuffer 대상 의 초기 화 는 String 클래스 의 초기 화 처럼 자바 가 제공 하 는 특수 한 문법 이 있 지 않 으 며,일반적으로 구조 방법 을 사용 하여 초기 화 합 니 다.
예 를 들 면:
StringBuffer s = new StringBuffer();

이렇게 초기 화 된 StringBuffer 대상 은 빈 대상 입 니 다.내용 이 있 는 StringBuffer 대상 을 만 들 려 면:
StringBuffer s = new StringBuffer(“abc”);

이렇게 초기 화 된 StringBuffer 대상 의 내용 은 문자열'abc'입 니 다.
주의해 야 할 것 은 StringBuffer 와 String 은 서로 다른 유형 에 속 하고 강제 형식 변환 을 직접 할 수 없습니다.아래 코드 는 모두 잘못 되 었 습 니 다.
 StringBuffer s = “abc”;//       
StringBuffer s = (StringBuffer)”abc”; //       ,      

StringBuffer 대상 과 String 대상 간 의 상호 전환 코드 는 다음 과 같 습 니 다.
String s = “abc”;
StringBuffer sb1 = new StringBuffer(“123”);
StringBuffer sb2 = new StringBuffer(s);//String   StringBuffer
String s1 = sb1.toString();//StringBuffer   String

2.StringBuffer 의 일반적인 방법
StringBuffer 클래스 의 방법 은 추가,삽입,삭제 등 문자열 의 변화 에 편중 되 어 있 습 니 다.이것 도 StringBuffer 와 String 클래스 의 주요 차이 점 입 니 다.
a.append 방법
public StringBuffer append(boolean b):이 방법 은 현재 StringBuffer 대상 의 끝 에 내용 을 추가 하 는 역할 을 합 니 다.문자열 의 연결 과 유사 합 니 다.이 방법 을 사용 하면 StringBuffer 대상 의 내용 도 변 경 됩 니 다.예 를 들 어:
StringBuffer sb = new StringBuffer(“abc”);
sb.append(true);
대상 sb 의 값 은'abctrue'로 변 합 니 다.
이 방법 을 사용 하여 문자열 을 연결 하면 String 보다 내용 을 더 절약 할 수 있 습 니 다.예 를 들 어 데이터베이스 SQL 문장의 연결,예 를 들 어:
StringBuffer sb = new StringBuffer();
String user = “test”;
String pwd = “123”;
sb.append(“select * from userInfo where username=“)
.append(user)
.append(“ and pwd=”)
.append(pwd);

이러한 대상 sb 의 값 은 문자열'select*from userInfo where username=test and pwd=123'입 니 다.
b.deleteCharAt 방법
public StringBuffer deleteCharAt(int index):이 방법 은 지정 한 위치의 문 자 를 삭제 하고 나머지 내용 을 새로운 문자열 로 만 드 는 역할 을 합 니 다.예 를 들 면:
StringBuffer sb = new StringBuffer(“Test”);
sb. deleteCharAt(1);
이 코드 의 역할 은 문자열 대상 sb 에서 색인 값 이 1 인 문 자 를 삭제 합 니 다.즉,두 번 째 문 자 를 삭제 하고 나머지 내용 은 새로운 문자열 을 구성 합 니 다.그래서 대상 sb 의 값 이'Tst'로 바 뀌 었 습 니 다.
비슷 한 기능 을 가 진 delete 방법 도 존재 합 니 다.
public StringBuffer delete(int start,int end):이 방법 은 지 정 된 구간 내의 모든 문 자 를 삭제 하고 start 를 포함 하 며 end 색인 값 을 포함 하지 않 는 구간 을 포함 하 는 역할 을 합 니 다.예 를 들 면:
StringBuffer sb = new StringBuffer(“TestString”);
sb. delete (1,4);
이 코드 는 색인 값 1(포함)에서 색인 값 4(포함 되 지 않 음)사이 의 모든 문 자 를 삭제 하고 나머지 문 자 는 새로운 문자열 을 만 드 는 역할 을 합 니 다.대상 sb 의 값 은'TString'입 니 다.
c.insert 방법
public StringBuffer insert(int offset,boolean b):이 방법 은 StringBuffer 대상 에 내용 을 삽입 한 다음 새로운 문자열 을 만 드 는 역할 을 합 니 다.예 를 들 면:
StringBuffer sb = new StringBuffer(“TestString”);
sb.insert(4,false);
이 예제 코드 는 대상 sb 의 색인 값 4 의 위치 에 false 값 을 삽입 하여 새로운 문자열 을 만 드 는 역할 을 합 니 다.실행 후 대상 sb 의 값 은'TestfalseString'입 니 다.
d.reverse 방법
public StringBuffer reverse():이 방법 은 StringBuffer 대상 의 내용 을 반전 시 킨 다음 새로운 문자열 을 만 드 는 역할 을 합 니 다.예 를 들 면:
StringBuffer sb = new StringBuffer(“abc”);
sb.reverse();
반전 을 거 친 후 대상 sb 의 내용 은'cba'로 바뀐다.
e,setCharAt 방법
public void setCharAt(int index,char ch):이 방법 은 대상 의 색인 값 이 index 위치 인 문 자 를 새로운 문자 ch 로 수정 하 는 역할 을 합 니 다.예 를 들 면:
StringBuffer sb = new StringBuffer(“abc”);
sb.setCharAt(1,’D’);
대상 sb 의 값 은'aDc'로 변 합 니 다.
f.trimToSize 방법
public void trimToSize():이 방법 은 StringBuffer 대상 의 저장 공간 을 문자열 길이 와 같은 길이 로 축소 하여 공간의 낭 비 를 줄 이 는 역할 을 합 니 다.
한 마디 로 하면 실제 사용 시 String 과 StringBuffer 는 각각 장점 과 부족 함 이 있 으 므 로 구체 적 인 사용 환경 에 따라 해당 하 는 유형 을 선택 하여 사용 할 수 있다.문장 출처:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616330.html

좋은 웹페이지 즐겨찾기