■ StringBuffer = 문자열을 추가, 수정할 때 사용하는 자료형
■ .append = 문자열을 추가하는 메서드
StringBuffer에서 append 메서드는 append(덧붙이다)의 의미와 같이 생성한 StringBuffer에 문자열을
이어 붙인다.
또한, toString() 메서드로 String으로 변경 가능하다.
그렇다면, 결과는 동일한 두 예제의 차이점은 무엇일까?
StringBuffer을 사용할 경우 sb라는 객체를 한번 생성해 String을 이어 붙이는 것이다.
sb ![]() |
string ![]() |
+α String 객체가 생성되면서 지정해준 값을 변경할 수 없다. 이러한 객체의 자료형을 immutable(생
성 후 변경 불가능한 객체)이라 한다. (String에 set 메서드가 없으며 String 메서드에 return (String
type)이 있어야만 한다.)
여기서 변경 불가능하다는 것은 heap 영역에서의 변경불가라는 것이다.
위의 예시와 같이 “”로 할당된 string에서 string = “something”으로 객체의 값을 변경했다고 생각할
수 있지만, 이 예시는 string을 재할당하면서 heap영역의 객체가 바뀌는 것으로 heap영역의 값이 바
뀌는 것이 아니다.
■ .insert = 특정 위치에 문자열을 삽입하는 메서드.
■ .substring = subSequence = 시작위치와 끝위치를 지정해 문자열을 잘라내는 메서드.
■ .capacity = StringBuffer 객체의 현재 버퍼 크기를 return하는 메서드.
StringBuffer 디폴트 값이 16으로 버퍼가 생성된다.
■ .trimToSize() = 현재 문자열에 맞게 버퍼 크기 재설정.
trimToSize 호출 후 문자열에 맞게 버퍼 사이즈가 조절된다.
■ .delete = StringBuffer의 “시작”부터 “끝”전(시작~(끝-1)) 까지의 문자열을 삭제한다.
■ .deleteCharAt = 지정한 인덱스의 문자열을 삭제한다.
■ .reverse = 현재 StringBuffer에 들어있는 문자열을 역순으로 배열한다.
■ .codePointAt = 지정한 인덱스의 문자가 가진 유니 코드 코드 포인트를 반환한다.
■ .codePointBefore = 지정한 인덱스 앞에 위치한 문자가 가진 유니 코드 코드 포인트를 반환한다.
'Programming > Java Class' 카테고리의 다른 글
#java/class - SimpleDateFormat (0) | 2019.06.25 |
---|---|
#java/code - File Class (0) | 2019.05.09 |
댓글