이 글에서는 주로 Java에서 String, StringBuffer, StringBuilder의 차이점과 이를 사용하는 방법에 대한 정보를 소개합니다. String 클래스는 개발 과정에서 작업에 자주 사용됩니다. StringBuffer와 StringBuilder 사이 및 사용 방법
1. String 클래스
String의 값은 변경할 수 없으므로 String에 대한 각 작업의 결과는 비효율적일 뿐만 아니라 제한된 메모리 공간의 낭비가 많습니다.
String a = "a"; //a가 0x0001 주소를 가리킨다고 가정
a = "b";//재할당 후 a는 0x0002 주소를 가리키지만 "a"는 0x0001 주소에 저장됩니다. 여전히 존재하지만 더 이상 a가 가리키는 것이 아니며, a는 이미 다른 주소를 가리킵니다.
따라서 문자열 연산은 값을 변경하는 것이 아니라 할당 주소를 변경하는 것입니다.
2. StringBuffer는 변경 가능한 클래스이며
스레드로부터 안전한 문자열 작업 클래스입니다. 이 클래스가 가리키는 문자열에 대한 작업은 새 개체를 생성하지 않습니다. 각 StringBuffer 객체에는 특정 버퍼 용량이 있습니다. 문자열 크기가 용량을 초과하지 않으면 새 용량이 할당되지 않습니다. 문자열 크기가 용량을 초과하면 용량이 자동으로 늘어납니다.StringBuffer buf=new StringBuffer(); //分配长16字节的字符缓冲区 StringBuffer buf=new StringBuffer(512); //分配长512字节的字符缓冲区 StringBuffer buf=new StringBuffer("this is a test")//在缓冲区中存放了字符串,并在后面预留了16字节的空缓冲区。
3. StringBuffer
StringBuffer 클래스와 StringBuilder 클래스의 기능은 기본적으로 유사하지만 StringBuffer 클래스의 메서드는 스레드로부터 안전하지 않다는 점입니다. 이에 비해 StringBuilder 클래스는 약간 더 빠릅니다. 값이 자주 변경되는 문자열의 경우 StringBuffer 및 StringBuilder 클래스를 사용해야 합니다.
위 내용은 Java의 String, StringBuffer 및 StringBuilder 간의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!