반응형
String 클래스를 공부하면서 스트링 버퍼와 스트링 빌더 의 차이점이 궁금해서 찾아보았다.
불변 String : 문자열 연산이 적고 멀티 쓰레드 환경일때 사용한다.
가변 String Buffer : 문자열 연산이 많고 멀티 쓰레드 환경일때 사용한다.
가변 String Builder : 문자열 연산이 적고 단일 쓰레드 환경일때 사용한다.
문자열 반복문 안에서 더하는것을 사용하면 안된다.
이유는 내부적으로 스트링 버퍼 객체를 계속 생성하여 처리하기 때문에 성능상 문제가 생길수 있다.
StringBuffer가 가지고 있는 메소드들은 대부분 자기 자신, this를 반환
StringBuffer sb2 = new StringBuffer();
StringBuffer sb3 = sb2.append("hello");
if (sb2 == sb3){
System.out.println("sb2 == sb3");
}
- 자기 자신의 메소드를 호출하여 자기 자신의 값을 바꿔나가는 것을 메소드체이닝 이라고 한다.
- StringBuffer클래스는 메소드 체인 방식으로 사용할 수 있도록 만들어져 있다.
String str2 = new StringBuffer().append("hello").append(" ").append("world").toString();
System.out.println(str2);
- 앞에서 5줄로 작성했던 코드를 위와 같이 한 줄로 수정할 수 있다.
- StringBuffer는 append메소드 외에도 길이를 구하거나, 자르거나 등의 다양한 메소드들을 가지고 있다.
반응형
'Before > Android' 카테고리의 다른 글
Kotlin/IntelliJ IDE 코틀린 개발환경 셋팅 만들기 (0) | 2020.12.25 |
---|---|
약어의 생성(StringBuffer) (0) | 2020.08.10 |
안드로이드 특징(컴포넌트) (0) | 2020.05.27 |
android 그래프 그리기 / MPandroidChart 라이브러리 (0) | 2020.05.15 |
android flavor(앱 분리) (0) | 2020.05.15 |