[Java] String을 조작해야할 땐 어떻게 할까?

hgh1472·2024년 6월 25일

자바

목록 보기
2/4

자바에서 String을 계속해서 + 연산을 할 경우, 메모리가 낭비된다.
자바에서 문자열을 + 연산으로 이어붙이면, + 연산을 할 때마다 새로운 문자열 객체가 생성되고, 기존 객체는 가비지 컬렉션의 대상이 된다.
위 과정이 반복되면 메모리 사용량이 계속 증가하게 된다.
이럴 때 StringBuilder를 사용한다.

StringBuilder

StringBuilder는 변경 가능한 문자열을 지원한다. 문자열을 추가하거나 수정할 때 새로운 객체를 생성하지 않고 기존 데이터를 변경할 수 있다.

선언

StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder("input");

StringBuilder는 문자열을 바로 넣어서 선언할 수 있다.

메소드

  • append(String str) : 문자열 str을 추가한다.
  • subString(int start, int end) : start 위치 부터 end 지점까지 subString을 반환한다.
  • delete(int start, int end) : start부터 end까지 문자를 삭제한다.
  • toString() : sb에 저장된 String을 반환한다.

예제

	StringBuilder sb = new StringBuilder();
    sb.append("Hello ");
    sb.append("World!");
    sb.toString(); // "Hello World!"
    sb.subString(6, 12); // "World!"
    
    sb.delete(0, 6);
    sb.toString()' // "World!"

0개의 댓글