반응형

필요성

  • 문자열 처리는 보통 String이 하지만, 불변의 속성을 갖는다.

 

  • 문자열을 할당했다가, 추가로 더해지는 연산을 하면 기존 메모리에 추가되는 것이 아니라,
  • 새로운 메모리에 더해진 문자열의 영역을 잡고 그 곳의 주소를 가리킴
  • 이전에 저장되어 있던 문자열 부분은 GC(garbage collector)가 관리함
  • 문자열의 변경(추가, 삭제, 수정)이 빈번한 경우 메모리에 영향이 클 수 있음

 

  • 이를 해결하기 위해서 불변이 아닌 가변의 속성을 가지는 StringBuffer 클래스를 사용
  • 따라서, 문자열의 변경(추가, 삭제, 수정)이 빈번하게 발생하는 경우
  • String 클래스보다는 StringBuffer 클래스를 사용해야함

 

 

 

예제

  • 보통 문자열의 조작에 많이 쓰이나, 요즘 컴파일러는 String 클래스와 크게 차이가 없어 보임
  • String이나 StringBuffer는 업무에 맞게 편한 것을 사용하면 됨

 

StringBuffer 예제 (1)

 

 

StringBuffer 예제 (2)

 

 

StringBuilder 예제

 

 

개선

StringPlus 예제 (1)

 

 

StringPlus 예제 (2)

 

 

 

반응형

+ Recent posts