2010-01-22 3 views
1

UTF-8 바이트로 변환하거나 반복 및 비교하는 비교 함수를 작성하는 것 외에 JDK 1.6에는 두 개의 문자열을 비교하는 몇 가지 방법이 있습니다. UCS-2 코드 포인트 순서가 아닌 전체 유니 코드 코드 순서?코드 포인트 (UTF-32) 순서로 Java 정렬 문자열

이 코드를 작성하는 것이 어렵지 않다는 점에 감사드립니다. 그러나 1.6은 여러 가지 'codepoint'API가 java.lang.String뿐 아니라 데이터 정렬 시스템에도 있지만, 두 문자열을 서로 닮은 점이없이 단순히 비교할 수는 없습니다.

의견 작성자를 위해이 순서대로 문자열을 사용하려는 도구에 데이터를 입력해야합니다.

+0

이미 기본적으로이 작업을 수행하고 있습니까? 또는 * 실제로 * 주문시 발음 구별을 고려하고 싶습니까? 예 : (기본값)'aa','ab','aà' 대신'aa','aà','ab'를 사용합니까? 그렇지 않으면이 질문에 대한 어떤 이유도 보이지 않는다. – BalusC

+0

String.compareTo는 최소한 썬의 JVM 1.6.0_16에서 포함 된 문자의 비교로 구현된다. 문자열에 BMP 외부 문자의 서로 게이트 쌍이 포함되어 있으면 bmargulies 요구 사항과 함께 작동하지 않습니다. – jarnbjo

+0

사실,이 동작은 API 문서에 설명되어 있으므로 char 값에서 compareTo를 기본으로하는 Sun VM의 구현 세부 사항이 아닙니다. – jarnbjo

답변

1

AFAIk, API에는 이러한 메소드가 없지만 직접 구현하는 것은 쉽습니다. 호기심에서 벗어난 것 : 당신은 그것을 위해 무엇을 필요로합니까?

관련 문제