소개:
동작 String.split()은 Java 8에서 크게 변경되었습니다. 결과 배열 시작 부분의 빈 문자열은 이제 Java 8과 다르게 처리됩니다. 이전 버전에서는. 이 변경으로 인해 올바르게 이해되지 않으면 예상치 못한 결과가 발생할 수 있습니다.
Java 7 및 이전 버전:
Java 8 이전 버전에서는 String.split()에 다음이 포함됩니다. 입력 문자열의 시작 부분에 양의 너비 일치가 있는 경우 결과 배열의 시작 부분에 있는 빈 문자열입니다. 그러나 처음에 너비가 0인 일치 항목은 포함되지 않았습니다.
Java 8 이상:
Java 8에서는 분할 논리에 추가 조건이 추가되었습니다. 이제 빈 선행 하위 문자열은 입력 문자열의 시작 부분에서 너비가 0인 일치 항목에 대한 결과 배열에 포함되지 않습니다. 이 변경의 목표는 일관성을 향상하고 빈 문자열 아티팩트를 방지하는 것입니다.
설명:
다음 예에서는 문자열 "abc"를 빈 문자열로 분할합니다. Java 7 및 8:
// Java 7 String[] tokens1 = "abc".split(""); // Java 8 String[] tokens2 = "abc".split("");
호환성 유지:
Java 7 및 Java 8 모두와의 호환성을 유지해야 하는 경우 다음 지침을 따를 수 있습니다.
Java 8 및 위:
Java 7 및 이전:
추가 사항:
위 내용은 Java 8의 'String.split()'이 때때로 선행 빈 문자열을 생략하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!