String StringBuffer와 StringBuilder의 차이점
1371 단어 StringStringBuilderStringBuffer
String은 클래스를 변경할 수 없습니다. String 객체에 대한 변경 사항은 새 String 객체만 생성합니다.
StringBuffer 소프트 클래스는 지정된 문자열을 변경해도 새 객체가 만들어지지 않습니다.
StringBuilder 소프트 클래스, JDK5.0 도입, 그 문자열에 대한 변경 사항은 새로운 대상이 생기지 않습니다.
그래서 스트링버퍼와 스트링버퍼의 차이는 모두가 잘 알고 있다. 스트링버퍼와 스트링버퍼의 차이는?
새로 도입된 StringBuilder 클래스는 라인이 안전한 것이 아니라, StringBuffer는 라인이 안전합니다. 많은 방법들이synchronized 방법입니다.이것이 바로 이 두 사람 이전의 차이인데, 이외에 거의 차이가 없다.
스레드 동기화를 지원하여 스레드의 안전을 확보하면 상대적으로 성능이 떨어질 수 있다.
StringBuffer의 효율은 String의 몇 십 배이고 StringBuilder는 StringBuffer의 한두 배이다.
이를 통해 알 수 있듯이 만약에 우리의 프로그램이 단일 루트에서 실행되거나 루트 동기화 문제를 고려할 필요가 없다면, 우리는StringBuilder 클래스를 우선적으로 사용해야 한다.물론 라인의 안전을 확보하려면 스트링 버퍼가 아닐 수 없다.
Ps:
stringBuilder.append("-" + newMonth);
StringBuilder가 String을 여러 번 만들지 않도록 하기 위해 StringBuilder를 대체하는 데 사용되었기 때문에, 이 문장은 새로운 String 대상을 만들고 StringBuilder 대상에 추가했습니다.
문자열 연결 작업 (+) 은 여러 문자열을 하나의 문자열로 통합하는 가장 편리한 경로입니다.따라서 두 개의 작은 문자열을 한 번만 연결하고 연결 결과를 출력하는 것이 적당하다.하면, 만약, 만약...
n개의 문자열을 위해 문자열 연결 조작부호를 반복적으로 사용하면 n의 제곱 레벨이 필요합니다.이것은 문자열의 대상 자체가 변할 수 없기 때문에 두 문자열을 연결할 때 두 연결 문자열의 내용을 복사하여 형성해야 한다
새 연결 후의 문자열입니다.
이러한 쓰기 방식을 대체하기 위해서, 우리는 이렇게 써야 한다. 체인식으로 StringBuilder 대상에 두 번의 문자열을 추가해야 한다.
stringBuilder.append("-").append(newMonth);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Access Request, Session and Application in Struts2If we want to use request, Session and application in JSP, what should we do? We can obtain Map type objects such as Req...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.