★String클래스와 무관하다
문자열 편집이 쉽다
버퍼를 사용하여 문자열을 저장하며, 편집시 버퍼 안의 내용을 직접 조작함
cf) String 클래스에 배해 편집속도가 빠르다(concat,연결연산자(+)
문자열 편집 결과에 대한 새 문자열 생성되지 않으므로 공간 낭비가 적음
두 클래스의 메서드는 거의 동일하며, 멀티쓰레드 환경에서의 차이가 존재
문자열 생성시 String클래스와 달리 리터럴 할당은 불가능하며, 객체 생성만 가능하다
▶StringBuffer="Hollo,World"; (불가능)
▶StringBuffer buffer=new StringBuffer("Hello,World"); (객체생성가능)
length( ) : 문자열 길이
capacity( ): 버퍼 크기
버퍼가 다 차면 자동으로 버퍼 크기확장
toString( ):메서드가 오버라이딩 되어 있으므로 문자열 출력이 용이하다
append ( ) :문자열 뒷부분에 새 문장을 추가(결합)
insert(): 특정 인덱스에 문자열 삽입
reverse( ): 문자열 순서 뒤집기(반전)
StringBuffer객체의 메서드 여러개를 호출하여 다양한 작업을 수행할 때
각각의 메서드를 별도로 호출할 수도 있지만 메서드를 연쇄적으로 연결하여 작업을 처리할 수도 있다
왜? StringBuffer또는 StringBuilder클래스의 메서드 리턴타입은
모두 자기 자신이므로 실행결과에 다시 다른 메서드 적용이 가능하다
원래는 메소드 호출할 때 이렇게 쓴다
메소드를 나눠서 하나 하나 씩
하지만 빌더 패턴을 사용하면
메소드를 연결해서 이렇게 쓸 수 있다
메서드 실행결과에 다시 다른 메서드를 호출하는 것
메서드 리턴 타입이 자기 자신을 리턴하고 계속 연결해서
다음 메서드를 호출하는 형태의 프로그래밍 방식
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!
[java] 자바_ BigInteger & BigDecimal 클래스 원리 쉽게 정리/범위/기본 int형/반복문/사칙연산 메소드 (0) | 2020.08.04 |
---|---|
[자바] 배열 문제_array in java (0) | 2020.08.03 |
자바_String 클래스 /문자열 함수 메서드/불변, 상속/문자열 검색,분리,추출 (0) | 2020.07.30 |
[자바] java 클래스 메소드 정의/멤버 변수 초기화/객체(인스턴스) 생성/ 메소드 호출_실제예제보며 공부 (0) | 2020.07.29 |
[java]자바_StringTokenizer클래스를 통한 문자열 분리 /split차이점 (0) | 2020.07.28 |