String 클래스 String 클래스 의 특징 String 류 는 변경 할 수 없 는 Immutable 의 전형 적 인 실현 입 니 다. 스 레 드 안전.
String 류 의 장점
만약 에 똑 같은 문자열 이 서로 다른 변수 에 저장 되 어 있다 면 String 류 를 사용 하면 메모 리 를 절약 하고 성능 을 향상 시 킬 수 있 습 니 다. 예 를 들 어 다음 두 변수의 메모리 지향 은 같은 것 입 니 다. 즉, 하나의 메모리 주소 만 열 었 습 니 다.
String A = "Hello":
String B = "Hello";
변경 할 수 없 는 특징 으로 생 성 되 었 을 때 hash 가 캐 시 되 었 습 니 다. 중복 계산 이 필요 없 이 Map 의 키 성능 이 다른 유형 보다 좋 습 니 다.
String 류 의 단점
문자열 을 맞 출 때 많은 문자열 대상 이 생 겨 성능 이 떨 어 집 니 다.
Tip: String s = "A"+ "B"+ "C"와 같은 JVM 은 보통 중간 대상 보다 많 지 않 고 StringBuilder append 를 통 해 자동 으로 처리 되 지만 이렇게 사용 하 는 것 을 권장 하지 않 습 니 다. StringBuffer 클래스 StringBuffer 류 의 특징
스 레 드 가 안전 합 니 다.
수정 가능 한 문자열 대상, 생 성 및 자동 쓰레기 회수 비용 감소
스 레 드 보안 은 성능 대가 가 있 지만 대부분의 경우 문자열 연결 은 스 레 드 보안 이 필요 하지 않 습 니 다. 이때 JDK 1.5 는 StringBuilder 를 발 표 했 습 니 다. StringBuilder 클래스 StringBuilder 클래스 의 특징
라인 이 안전 하지 않 습 니 다.
수정 가능 한 문자열 대상, 생 성 및 자동 쓰레기 회수 비용 감소
총결산
문자열 조합 과 삭제 등 작업 이 많 지 않 을 때 String 을 우선 사용 합 니 다.
문자열 의 조합 과 삭제 가 많 고 안전 해 야 할 때 StringBuffer 를 사용 합 니 다.
문자열 의 조합 과 삭제 가 많 습 니 다. 스 레 드 가 안전 하지 않 으 면 StringBuilder 를 사용 할 수 있 습 니 다.
도움 이 된다 면 좋아요 ~ 감사합니다!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: