English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 예제에서는 delete()와 setLength() 메서드를 사용하여 StringBuffer를 비우고 Java에서 새 StringBuffer 객체를 생성하는 방법을 배웁니다.
class Main { public static void main(String[] args) { //한 문자열 버퍼를 생성합니다. StringBuffer str = new StringBuffer(); //문자열을 문자열 버퍼에 추가하기 str.append("Java"); str.append("는 "); str.append(" popular."); System.out.println("StringBuffer: ", + str); //문자열을 지우기 //delete() 사용 str.delete(0, str.length()); System.out.println("업데이트된 StringBuffer: ", + str); } }
출력 결과
StringBuffer: Java가 인기가 있습니다. 업데이트된 StringBuffer:
위의 예제에서는 StringBuffer를 비우기 위해 StringBuffer 클래스의 delete() 메서드를 사용했습니다.
이곳에서 delete() 메서드는 지정된 인덱스 번호 내의 모든 문자를 제거합니다.
class Main { public static void main(String[] args) { //한 문자열 버퍼를 생성합니다. StringBuffer str = new StringBuffer(); //문자열을 문자열 버퍼에 추가하기 str.append("Java"); str.append("는 "); str.append(" 멋지."); System.out.println("StringBuffer: ", + str); //문자열을 지우기 //setLength() 사용 str.setLength(0); System.out.println("업데이트된 StringBuffer: ", + str); } }
출력 결과
StringBuffer: Java는 멋지합니다. 업데이트된 StringBuffer
이곳에서 setLength() 메서드는 StringBuffer의 문자 시퀀스를 새 문자 시퀀스로 변경합니다. 또한, 새 문자 시퀀스의 길이를 0으로 설정합니다.
따라서, 기존의 문자 시퀀스는 가비지 콜렉션에 포함됩니다.
주의:SetLength() 메서드는 문자열 버퍼에 존재하는 문자 시퀀스를 완전히 무시합니다. 반면에 delete() 메서드는 문자 시퀀스에 접근하여 그를 제거합니다. 따라서 setLength()는 delete()보다 빠릅니다.
class Main { public static void main(String[] args) { //한 문자열 버퍼를 생성합니다. StringBuffer str = new StringBuffer(); //문자열을 문자열 버퍼에 추가하기 str.append("Java"); str.append("는 "); str.append(" 멋지."); System.out.println("StringBuffer: ", + str); //문자열을 지우기 //new를 사용하여 //여기서 새로운 객체가 생성되고 str에 할당됩니다. str = new StringBuffer(); System.out.println("업데이트된 StringBuffer: ", + str); } }
출력 결과
StringBuffer: Java는 멋지합니다. 업데이트된 StringBuffer:
여기서 new StringBuffer()는 새로운 문자열 버퍼 객체를 생성하고 이전 변수를 새로운 객체에 할당합니다. 이 경우 이전 객체는 여기에 있지만 접근할 수 없기 때문에 가비지 컬렉션됩니다.
많은 문자열 버퍼를 초기화하지 않고, 새로운 문자열 버퍼를 생성하여 이전 문자열 버퍼를 지우지 않기 때문에 성능이 낮습니다.