이전 섹션에서 우리는 String 클래스에 의해 생성된 문자열 개체를 수정할 수 없습니다. 즉, String 문자열은 문자열 개체 에 있는 문자를 수정, 삭제 또는 대체할 수 없습니다. 생성되면 해당 엔터티를 변경할 수 없습니다. 예를 들면 다음과 같습니다.
Strings=newString(저는 걷기를 좋아합니다);
그 중에서도 나는 실체로서 걷는 것을 좋아하고 더 이상 변하지 않습니다.
따라서 이 섹션에서는 수정 가능한 문자열 시퀀스를 생성할 수 있는 StringBuffer 클래스 에 대해 알아봅니다. 즉, 이 클래스 개체의 물리적 메모리 공간은 가변 문자 시퀀스의 저장을 용이하게 하기 위해 자동으로 크기를 변경할 수 있습니다.
예를 들어, StringBuffer 객체는 Append 메서드를 호출하여 문자 시퀀스를 추가할 수 있습니다.
StringBuffers=newStringBuffer(좋아요);
그런 다음 객체는 문자열 시퀀스를 추가하기 위해append 메서드를 호출할 수 있습니다.
s.append(수영);
그중에서도 나는 개체로서 수영을 좋아하는데, 개체가 변한다.
StringBuffer 클래스에는 세 가지 생성자가 있습니다.
매개변수가 없는 첫 번째 생성자를 사용하여 StringBuffer 개체를 생성하면 개체에 할당된 엔터티의 초기 용량은 개체 엔터티에 저장된 문자 시퀀스의 길이가 16보다 크면 16자를 보유할 수 있습니다. 추가된 문자를 저장하기 위해 엔터티가 자동으로 증가합니다. StringBuffer 객체는 length() 메소드를 통해 엔터티에 저장된 문자열의 길이를 얻을 수 있고, 용량() 메소드를 통해 현재 엔터티의 실제 용량을 얻을 수 있습니다.
두 번째 생성자를 사용하여 StringBuffer 객체를 생성한 다음 객체에 할당된 엔터티의 초기 용량이 객체의 엔터티에 저장된 문자 시퀀스의 길이인 경우 매개변수 크기로 지정된 문자 수임을 지정할 수 있습니다. 문자 크기보다 크면 엔터티는 추가된 문자를 수용할 수 있도록 자동으로 늘어납니다.
StringBuffer 개체를 생성하기 위해 세 번째 생성자 메서드를 사용하면 개체에 할당된 엔터티의 초기 용량이 매개변수 문자열 s의 길이에 추가 16자를 더한 길이가 되도록 지정할 수 있습니다.