String split 방법 구현 프로 세 스 도해

2291 단어 stringsplit방법.
이 글 은 주로 String split 방법의 실현 과정 도 해 를 소 개 했 습 니 다.이 글 은 예시 코드 를 통 해 매우 상세 하 게 소개 되 어 여러분 의 학습 이나 업무 에 대해 어느 정도 참고 학습 가 치 를 가지 고 있 으 므 로 필요 한 분 들 은 참고 하 시기 바 랍 니 다.
String 의 split 방법 은 모두 가 낯 설 지 않 고 많 든 적 든 문자열 을 하나의 배열 로 바 꾼 적 이 있다 고 믿 습 니 다.그러나 이런 간단 한 방법 입 니 다.그 안에 주의 할 수 밖 에 없고 깊 지 않 은 작은 구덩이 도 있 습 니 다.
로 컬 테스트 코드 는 다음 그림 과 같 습 니 다.

그림 1
split 1 과 split 3 의 길이 가 우리 의 기대 에 부합 되 는 것 을 발견 할 수 있 습 니 다.그러나 split 2 는 길이 가 5 일 것 입 니 다.그러나 실제 길 이 는 4 입 니 다.여러분 들 이 이런 상황 에 처 했 을 때,
String 의 이 split 방법 은 분할 과 일치 하 는 조작 만 하 는 것 이 아니 라 다른 논리 적 처 리 를 했 을 것 입 니 다.예 를 들 어 마지막 빈 요 소 를 제거 해 야 합 니 다.
라 는 조작 을 했다.이런 추측 이 나 왔 으 니 소스 코드 를 계속 살 펴 보고 근원 을 찾 아 보 자.

그림 2
이 방법 은 다시 불 러 오 는 방법 을 호출 했 습 니 다.첫 번 째 매개 변 수 는 변 하지 않 았 고 두 번 째 매개 변 수 는 limit 이 0 으로 전 달 했 습 니 다.계속 거 슬러 올 라 갑 니 다.

그림 3
고 개 를 끄 덕 이 는 것 이 귀 찮 고 도저히 볼 수가 없 었 다.
생각 을 바 꾸 어 debug 를 해 보 세 요.이 마지막 빈 요소 가 어디에서 걸 러 졌 는 지 보 세 요.한 번 해 보 니 과연 사건 발생 지 를 발 견 했 습 니 다.

그림 4
이 목록 에 저 장 된 요 소 는 모두 5 개의 요소 입 니 다.아래 while 순환 에 서 는 꼬리 에서 앞으로 어떤 요소 의 길이 가 0 인지 볼 수 있 습 니 다.
첫 번 째 빈 요소 에 부 딪 힐 때 까지 0 이면 길 이 를 줄 입 니 다.이 while 순환 을 마 친 후 앞의 요 소 를 캡 처 합 니 다.
배열 로 돌아 가기.
이상 의 간략 한 분석 을 통 해 알 수 있 듯 이 String 의 split 방법 에 대해 문자열 끝 이 일치 하 는 문자 라면 자동 으로 마지막 을
빈 요 소 는 제거 되 고 문자열 의 첫 부분 에 빈 요 소 는 영향 을 받 지 않 습 니 다.
두 마디 더 하면 limit 매개 변수 에 대해 몇 번 테스트 하면 이 매개 변 수 는 되 돌아 오 는 데이터 의 최대 길 이 를 제한 하 는 것 을 발견 할 수 있 습 니 다.테스트 코드 는 다음 과 같 습 니 다:

그림 5
limit 값 을 전달 하면 끝의 빈 요 소 를 자동 으로 제거 하지 않 는 다 는 것 을 알 수 있다.구체 적 인 원인 은 그림 4 소스 코드 를 볼 수 있 고 limit 가 0 이 아니라면 if 중의 while 순환 을 가지 않 고 앞에서 말 한 상황 도 나타 나 지 않 을 것 이다.
이런 구덩이 에 대해 피 할 수 있 는 좋 은 방법 은 없다.하 나 는 자신의 지식 면 을 확대 하 는 것 이 고,다른 하 나 는 총 결 을 많이 쌓 는 것 이다.힘 내세 요!
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기