goal
StringBuilder와 StringBuffer의 이해
1 ] StringBuilder
기본적으로 String클래스의 연산은 연산이 진행될 때 마다 새로운 인스턴스를 생성한다.
이는 시스템의 악영향을 끼칠 수 있고 대안으로 나온것이 StringBuilder이다.
StringBuilder는 String과 달리 기존의 데이터에 값을 더하는 방식을 사용한다.
- String클래스 연산보다 빠르다
- 메모리가 차지하는 부하가 적어진다.
StringBuilder builder = new StringBuilder();
builder.append("자바는 ").append("조금 빡쳐");
String str = builder.toString();
System.out.println(str);
StringBuilder로 만들어진 값을 출력하기 위해서는 toString()을 이용해야함을 잊지 않는다.
StringBuilder의 주요 메소드
2 ] StringBuffer
mutable 클래스이다. 즉, 인터턴스 값을 변경할 수 있다.
- 인스턴스의 값을 변경함으로써 mutable객체인 String보다 메모리상 이점을 가져간다.
- 속도 또한 상대적으로 빠르다.
- 인스턴스의 변경이 잦은 경우 사용한다.
1. 조금 더 알아보기
StringBuffer클래스는 내부적으로 버퍼(buffer)라고 하는 독립적인 공간을 가진다.
버퍼의 크기의 기본값은 16개의 문자를 저장할 수 있는 크기이며, 생성자를 통해 그 크기를 별로로 설정할 수 있다.
그리고 StringBuffer는 사용자가 결정한 크기보다 언제나 16개의 문자를 더 저장할 수 있도록 여유있는 크기로 생성된다.
2. StringBuffer의 주요 메소드
참고링크(1) : StringBuffer API 문서
참고링크(2) : java :) StringBuffer, https://kimeuncheol.tistory.com/49, 내블로그
'Java > java' 카테고리의 다른 글
java :) 얕은복사와 깊은복사, Arrays.copyOf()와 Arrays.copeOfRange() 사용방법 (0) | 2022.05.09 |
---|---|
java :) Arrays.toString으로 배열 간편하게 출력하기 ( + 출력할 때 괄호 없애는 방법) (0) | 2022.05.09 |
java :) Arrays의 다양한 메소드 정리하기 (0) | 2022.04.23 |
java :) StringBuffer (0) | 2022.04.23 |
java :) inner class란? (0) | 2022.04.22 |