본문으로 바로가기

자바(Java)에서 StringBuffer StringBuilder의 마지막 글자를 제거하기 위해 setLength()deleteCharAt() 메서드를 활용 할 수 있습니다. 두 클래스는 동일한 API가 구현되어 있기에 같은방법으로 사용이 가능합니다.

setLength() / deleteCharAt()

StringBuilder sb = new StringBuilder("hello world.");
//StringBuffer sb = new StringBuffer("hello world.");

// 마지막 문자 제거 
sb.setLength(sb.length()-1);    //1. setLength() 이용
sb.deleteCharAt(sb.length()-1); //2. deleteCharAt() 이용
// sb = "hello world"

EX) 콤마로 구분지은 텍스트

아래와 같이 반복문에서 특정 문자를 반복하며 콤마(,)로 구분지어 결과를 내보낼 경우 마지막 콤마를 제거하는데 유용하게 사용할 수 있습니다. 

StringBuilder sb = new StringBuilder();
//StringBuffer sb = new StringBuffer();

char[] chars = new char[]{'a','b','c'};
for(char c : chars){  // sb = "a,b,c,"
    sb.append(c);
}

// 마지막 문자 제거
sb.setLength(sb.length()-1);    //1. setLength() 이용
sb.deleteCharAt(sb.length()-1); //2. deleteCharAt() 이용
// sb = "a,b,c"