[TIL] String 이어붙이기
by 배부른코딩로그문자열을 합치기 위한 3가지 방법이 있다.
- (+) 연산자 사용
- StringBuilder/StringBuffer 사용
- String.format 사용
1. (+) 연산자 사용
String은 imutable(불변)하기 때문에 크기가 고정되어 있다. 이러한 성격으로 더하기 연산자를 사용하여 이어붙일 경우, String A와 String B를 이어붙일 때, A와 B를 붙인 문자열을 할당할 새로운 인스턴스를 생성한다. 이러한 방식으로 인하여 기존 A와 B는 GC에 의해 제거될 때까지 메모리에 남아있다 보니 성능상 오버헤드가 많은 작업이다.
2. StringBuilder/StringBuffer
String과 다르게 StringBuilder/StringBuffer를 사용할 경우, 크기가 가변적이기 때문에 새로운 인스턴스를 생성할 필요가 없다. 그렇기 때문에 불필요한 메모리를 잡아먹지 않고 GC 또한 불필요하기 때문에 (+)연산을 통한 문자열 합치기보다 성능상 훨씬 빠르다.
짧은 문자열은 성능상에 큰 영향은 없겠지만 문자열 처리가 많은 로직일수록 StringBuilder를 적극 활용해야 한다.
3. String.format 사용
String.format()을 활용할 경우 성능상 좋지는 않다. 하나 하나 매핑해야 하니까..ㅎㅎ
문자열 이어붙이기에 성능측면까지 생각해보고 싶다면?!
2021.05.18 - [TIL(Today I Learned)] - [TIL] Java String, StringBuffer, StringBuilder 뽀개기
2021.05.14(금) TIL
반응형
'TIL(Today I Learned)' 카테고리의 다른 글
[TIL] IntelliJ cannot resolve symbol 에러 해결 (0) | 2021.05.26 |
---|---|
[TIL] JUnit 5 계층 구조의 테스트 작성엔 @Nested (0) | 2021.05.21 |
[TIL] JUnit 5 사용자 정의 테스트 명명엔 @DisplayName (0) | 2021.05.21 |
[TIL] Java String, StringBuffer, StringBuilder 뽀개기 (1) | 2021.05.18 |
[TIL] Spring boot - Location of application.yml (0) | 2021.05.14 |
블로그의 정보
배부른코딩로그
배부른코딩로그