자바 문자열 선택

2480 단어 자바문자열
다음은 문자열 연결 에 대한 분석 입 니 다.
  1.String
그림 과 같이 String 의 원본 코드 를 엽 니 다.

문자열 을 저장 하 는 문자 수 치 는 final 상수 입 니 다.String 의 구조 방법 을 살 펴 보면 String 의 value 값 이 구조 방법 에 있 음 을 알 수 있 습 니 다.여기 키워드 final 설명 이 필요 해 요.
final 수식 의 속성 은 상수(값 은 변경 할 수 없습니다)입 니 다.성명 과 동시에 값 을 부여 하거나 구조 방법 에서 값 을 부여 하거나 할당 하면 변경 할 수 없습니다.
따라서 문자열 연결 을 String 으로 구현 합 니 다.String 의 값 은 변경 할 수 없 기 때문에 연결 할 때마다 새로운 String 을 생 성하 여 새로운 문자열 을 저장 합 니 다.그래서 문자열 조합 을 String 으로 처리 하면 성능 이 낮 습 니 다.
더 많은 String 정 보 는 블 로그 참조:http://longpo.iteye.com/blog/2199493
  2.StringBuffer
StringBuffer 클래스 는 추상 클래스 AbstractStringBuilder 클래스 를 계승 하여 AbstractStringBuilder 원본 코드 를 엽 니 다.

다시 StringBuffer.무 거 운 짐 을 싣 는 세 가지 구조 방법 을 보 겠 습 니 다.

부모 클래스 AbstractString Builder 를 호출 하 는 구조 방법 이 발견 되 었 습 니 다.

StringBuffer 에 저 장 된 데 이 터 를 발견 한 char 배열 은 final 형식 이 아 닙 니 다.변경 할 수 있 고 구 축 된 문자열 은 문자열 을 맞 출 수 있 는 여유 가 있 습 니 다.
StringBuffer 에서 우 리 는 append()함 수 를 사용 하여 문자열 의 연결 을 진행 합 니 다.우 리 는 char 배열 이 아직 남아 있 지만 계속 연결 해도 부족 할 것 이 라 고 생각 할 수 있다.그래서 append 함수 의 소스 코드 실현 을 볼 필요 가 있 습 니 다.

부모 클래스 AbstractString Builder 의 append 방법 보기

value 배열 의 용량 이 부족 할 때 문자열 을 저장 하기 위해 새로운 value 배열 을 만 듭 니 다.이 쯤 되면 StringBuffer 문자열 의 조합 원 리 를 알 게 될 것 입 니 다.char value 배열 이 부족 할 때 더 큰 용량 의 배열 을 만들어 저장 합 니 다.효율 이 String 보다 현저히 높다.
  3.StringBuilder
StringBuilder 와 StringBuffer 는 두 형제 입 니 다.용법 은 기본적으로 같 습 니 다.다른 것 은 StringBuffer 가 동기 화 되 고 라인 이 안전 합 니 다.StringBuilder 는 동기 화 를 보장 하지 않 으 며 라인 이 안전 하지 않 습 니 다.

StringBuilder 는 대부분의 구현 에서 StringBuffer 보다 빠 릅 니 다.문자열 버퍼 가 단일 스 레 드 에 접근 할 때 StringBuilder 를 우선 사용 하 는 것 을 권장 합 니 다.
위 에서 말 한 것 은 소 편 이 소개 한 자바 문자열 선택 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.소 편 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기