이 StringBuffer 클래스에서 제공하는 문자열이 수정됩니다. 문자 데이터가 변경될 것이라는 것을 알고 있는 경우 StringBuffer를 사용할 수 있습니다. 일반적으로 StringBuffer를 사용하여 문자 데이터를 동적으로 생성합니다.
Java에는 문자 작업을 담당하는 세 가지 클래스가 있습니다.
1.캐릭터는 하나의 캐릭터로 동작합니다.
2.String은 문자열에서 작동합니다. 불변 클래스.
3.StringBuffer는 문자열에서도 작동하지만 변수 클래스입니다.
끈:
기본 유형이 아닌 객체입니다.
불변 객체이므로 일단 생성되면 값을 수정할 수 없습니다.
기존 String 개체를 수정하려면 새 개체를 다시 만든 다음 새 값을 해당 개체에 저장해야 합니다.
String은 최종 클래스입니다. 즉, 상속될 수 없습니다.
문자열버퍼:
변경 가능한 객체이므로, 객체는 String처럼 재설정되지 않습니다. 생성자를 통해서만 설정할 수 있습니다.
StringBuffer sb = new StringBuffer();
참고: 결제 기호로는 결제할 수 없습니다.
sb = "여기에 오신 것을 환영합니다!";//오류
객체가 생성된 후 메모리 공간이 할당되고 처음에는 StringBuffer에 null이 저장됩니다.
값을 지불할 때 추가 방법을 사용할 수 있습니다.
sb.append("안녕하세요");
위 내용은 인터넷에서 흔히 볼 수 있는 발췌 내용이며, 다음은 제가 직접 추가한 통찰입니다.
주소는 변경할 수 없지만 길이와 내용은 변경할 수 있습니다. Append() 메소드는 예약된 메모리를 초과하면 메모리가 두 배가 됩니다.
효율성 비교: StringBuffer가 String보다 높습니다. StringBuffer는 공간을 예약하고 계속 추가하기 때문에 하나의 개체에서만 작동합니다. 문자열은 수정할 수 없으며 객체는 수정을 위해 반복적으로 생성되어야만 합니다. ――문자열을 자주 추가, 교체, 수정, 삽입, 삭제하는 경우에는 StringBuffer를 사용하는 것이 가장 좋습니다. 문자열을 사용해야 하는 경우 StringBuffer를 사용하여 toString()을 호출하여 문자열로 변환할 수 있습니다.
내 컴퓨터는 꽤 쓰레기이며 실행 후 결과는 다음과 같습니다.
문자열 실행 시간: 164593
------------------
StringBuffer 실행 시간: 31
게다가 String에는 포함 메소드가 있지만 StringBuffer에는 없습니다. 포함(Contains)은 포함(include)을 의미합니다. 여기서는 포함(contains) 메소드를 기억할 수 있습니다.
실행 결과는
진실