String StringBuffer와 StringBuilder의 차이점

String StringBuffer StringBuilder 차이점
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);

좋은 웹페이지 즐겨찾기