Daily Notebook

[TIL] String 이어붙이기

by 배부른코딩로그

문자열을 합치기 위한 3가지 방법이 있다.

  1. (+) 연산자 사용
  2. StringBuilder/StringBuffer 사용
  3. 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

반응형

블로그의 정보

배부른코딩로그

배부른코딩로그

활동하기