RuleBasedCollator Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
RuleBasedCollator ist eine konkrete Unterklasse von Collator.
[Android.Runtime.Register("android/icu/text/RuleBasedCollator", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class RuleBasedCollator : Android.Icu.Text.Collator
[<Android.Runtime.Register("android/icu/text/RuleBasedCollator", ApiSince=24, DoNotGenerateAcw=true)>]
type RuleBasedCollator = class
inherit Collator
- Vererbung
- Attribute
Hinweise
RuleBasedCollator ist eine konkrete Unterklasse von Collator. Sie ermöglicht die Anpassung des Collator über vom Benutzer angegebene Regelsätze. RuleBasedCollator ist so konzipiert, dass er vollständig mit dem Unicode Collation Algorithm (UCA) kompatibel ist und iso 14651 entspricht.
Ein Collator ist threadsicher nur, wenn er fixiert ist. Siehe #isFrozen() und android.icu.util.Freezable.
Benutzer werden dringend aufgefordert, das Benutzerhandbuch zu lesen, um weitere Informationen zum Sortierungsdienst zu erhalten, bevor Sie diese Klasse verwenden.
Erstellen Sie ein RuleBasedCollator aus einem Gebietsschema, indem Sie die GetInstance(Locale)-Factorymethode in der Basisklasse Collator aufrufen. Collator.getInstance(Locale) erstellt ein RuleBasedCollator-Objekt basierend auf den durch das Argumentgebietsschema definierten Sortierregeln. Wenn eine angepasste Sortierreihenfolge oder Attribute erforderlich ist, verwenden Sie den RuleBasedCollator(String)-Konstruktor mit den entsprechenden Regeln. Der angepasste RuleBasedCollator basiert auf der Sortierung der CLDR-Stammsortierung, während die Attribute und Bestellungen der Zeichen in der angegebenen Regel entsprechend angepasst werden.
RuleBasedCollator stellt korrekte Sortierreihenfolgen für die meisten gebietsschemas bereit, die in der ICU unterstützt werden. Wenn bestimmte Daten für ein Gebietsschema nicht verfügbar sind, fallen die Bestellungen schließlich auf die CLDR-Stammsortierreihenfolge zurück.
Informationen zur Syntax der Sortierregel und Details zur Anpassung finden Sie im Abschnitt zur Anpassung der Sortierung im Benutzerhandbuch.
<strong>Note</strong> that there are some differences between the Collation rule syntax used in Java and ICU4J:
<ul><li>Laut der JDK-Dokumentation: <br>Modifier '!' : Aktiviert Thai/Lao Vokalkonsonant Swapping. Wenn diese Regel in Kraft ist, wenn ein thailändischer Vokal des Bereichs \ U0E40-\ U0E44 steht vor einem thailändischen Konsonanten des Bereichs \ U0E01-\ U0E2E OR a Lao Vokal des Bereichs \ U0EC0-\ U0EC4 steht vor einem Lao-Konsonanten des Bereichs \ U0E81-\ U0EAE dann wird der Vokal nach dem Konsonanten zur Sortierung platziert. <br> Wenn eine Regel ohne den Modifizierer '!' ist, ist der Thai/Lao-Vokalkonsonant-Swapping nicht aktiviert. <Br> ICU4J's RuleBasedCollator unterstützt das Deaktivieren des Thai/Lao Vokalkonsonanten-Swappings nicht, da die UCA eindeutig besagt, dass sie unterstützt werden muss, um eine korrekte Sortierreihenfolge sicherzustellen. Wenn ein '!' gefunden wird, wird es ignoriert.</li li><>Wie in der Dokumentation der Basisklasse Collator erwähnt, wird der Kompatibilitätskompositionsmodus nicht unterstützt.</li></ul>
<starke>Beispiele/starke Beispiele<>
Erstellen von angepassten RuleBasedCollators: <blockquote>
String simple = "& a < b < c < d";
RuleBasedCollator simpleCollator = new RuleBasedCollator(simple);
String norwegian = "& a , A < b , B < c , C < d , D < e , E "
+ "< f , F < g , G < h , H < i , I < j , "
+ "J < k , K < l , L < m , M < n , N < "
+ "o , O < p , P < q , Q <r , R <s , S < "
+ "t , T < u , U < v , V < w , W < x , X "
+ "< y , Y < z , Z < \u00E5 = a\u030A "
+ ", \u00C5 = A\u030A ; aa , AA < \u00E6 "
+ ", \u00C6 < \u00F8 , \u00D8";
RuleBasedCollator norwegianCollator = new RuleBasedCollator(norwegian);
</blockquote>
Verketten von Regeln zum Kombinieren Collatorvon "s: <blockquote">
// Create an en_US Collator object
RuleBasedCollator en_USCollator = (RuleBasedCollator)
Collator.getInstance(new Locale("en", "US", ""));
// Create a da_DK Collator object
RuleBasedCollator da_DKCollator = (RuleBasedCollator)
Collator.getInstance(new Locale("da", "DK", ""));
// Combine the two
// First, get the collation rules from en_USCollator
String en_USRules = en_USCollator.getRules();
// Second, get the collation rules from da_DKCollator
String da_DKRules = da_DKCollator.getRules();
RuleBasedCollator newCollator =
new RuleBasedCollator(en_USRules + da_DKRules);
// newCollator has the combined rules
</blockquote>
Vornehmen von Änderungen an einem vorhandenen RuleBasedCollator zum Erstellen eines neuen Collator Objekts durch Anfügen von Änderungen an die vorhandene Regel: <Blockquote>
// Create a new Collator object with additional rules
String addRules = "& C < ch, cH, Ch, CH";
RuleBasedCollator myCollator =
new RuleBasedCollator(en_USCollator.getRules() + addRules);
// myCollator contains the new rules
</blockquote>
So ändern Sie die Reihenfolge von Nichtabstandsakzenten: <Blockquote>
// old rule with main accents
String oldRules = "= \u0301 ; \u0300 ; \u0302 ; \u0308 "
+ "; \u0327 ; \u0303 ; \u0304 ; \u0305 "
+ "; \u0306 ; \u0307 ; \u0309 ; \u030A "
+ "; \u030B ; \u030C ; \u030D ; \u030E "
+ "; \u030F ; \u0310 ; \u0311 ; \u0312 "
+ "< a , A ; ae, AE ; \u00e6 , \u00c6 "
+ "< b , B < c, C < e, E & C < d , D";
// change the order of accent characters
String addOn = "& \u0300 ; \u0308 ; \u0302";
RuleBasedCollator myCollator = new RuleBasedCollator(oldRules + addOn);
</blockquote>
Einfügen einer neuen primären Sortierung vor der Standardeinstellung, z. B. sortieren Sie englische Zeichen vor oder nach japanischen Zeichen im Japanischen Collator: <Blockquote>
// get en_US Collator rules
RuleBasedCollator en_USCollator
= (RuleBasedCollator)Collator.getInstance(Locale.US);
// add a few Japanese characters to sort before English characters
// suppose the last character before the first base letter 'a' in
// the English collation rule is \u2212
String jaString = "& \u2212 <\u3041, \u3042 <\u3043, "
+ "\u3044";
RuleBasedCollator myJapaneseCollator
= new RuleBasedCollator(en_USCollator.getRules() + jaString);
</blockquote>
Diese Klasse ist nicht unterklassig
Java Dokumentation für android.icu.text.RuleBasedCollator.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
| Name | Beschreibung |
|---|---|
| RuleBasedCollator(String) |
Konstruktor, der die Argumentregeln für die Anpassung verwendet. |
Felder
| Name | Beschreibung |
|---|---|
| CanonicalDecomposition |
Veraltet.
Wert für den Analysemodus. (Geerbt von Collator) |
| FullDecomposition |
Veraltet.
<strong>[icu] Hinweis:</strong> Dies dient nur der Abwärtskompatibilität mit Java APIs. (Geerbt von Collator) |
| Identical |
Veraltet.
Kleinster Festigkeitswert der Sortierer. (Geerbt von Collator) |
| NoDecomposition |
Veraltet.
Wert für den Analysemodus. (Geerbt von Collator) |
| Primary |
Veraltet.
Stärkster Sortierstärkewert. (Geerbt von Collator) |
| Quaternary |
Veraltet.
<strong>[icu]</strong> Fourth level collator strength value. (Geerbt von Collator) |
| Secondary |
Veraltet.
Festigkeitswert der zweiten Ebene. (Geerbt von Collator) |
| Tertiary |
Veraltet.
Festigkeitswert der dritten Ebene. (Geerbt von Collator) |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AlternateHandlingShifted |
Überprüft, ob das alternative Behandlungsverhalten die UCA-Definition SHIFTED oder NON_IGNORABLE ist. -oder- Legt die alternative Behandlung für QUATERNARY-Stärke fest, die entweder verschoben oder nicht ignorierbar sein soll. |
| CaseLevel |
Überprüft, ob die Fallebene auf "true" festgelegt ist. -oder- Wenn die Groß-/Kleinschreibung auf "true" festgelegt ist, wird eine zusätzliche Gewichtung zwischen der Gewichtung SEKUNDÄR und TERTIÄR gebildet, die als Fallebene bezeichnet wird. |
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Decomposition |
Gibt den Analysemodus dieses Collator zurück. -or- Legt den Analysemodus dieses Collator fest. (Geerbt von Collator) |
| FrenchCollation |
Überprüft, ob die französische Sortierung auf "true" festgelegt ist. -or- Legt den Modus für die Richtung der SEKUNDÄRen Gewichtungen fest, die in der französischen Sortierung verwendet werden sollen. |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| IsFrozen |
Bestimmt, ob das Objekt fixiert wurde oder nicht. (Geerbt von Collator) |
| JniIdentityHashCode |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| JniPeerMembers |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. |
| LowerCaseFirst |
Gibt "true" zurück, wenn vor dem entsprechenden Großbuchstaben ein Kleinbuchstaben sortiert ist. -or- Legt die Reihenfolge von Kleinbuchstaben fest, die vor Großbuchstaben sortiert werden sollen, in stärke TERTI. |
| MaxVariable |
<strong>[icu]</strong> Gibt die maximale Neuanordnungsgruppe zurück, deren Zeichen vom alternativen Behandlungsverhalten betroffen sind. (Geerbt von Collator) |
| NumericCollation |
Methode zum Abrufen des numerischen Sortierungswerts. -or- <strong>[icu]</strong> When numeric collation is aktiviert, this Collator makes substrings of digits sort to their numeric values. |
| PeerReference |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| Rules |
Ruft die Sortierungsmaßgeschneiderte Regeln für diese RuleBasedCollator ab. |
| Strength |
Gibt das Stärkeattribut dieses Collator zurück. -or- Legt das Stärkeattribut dieses Collator fest. (Geerbt von Collator) |
| TailoredSet |
<strong>[icu]</strong> Gibt ein UnicodeSet zurück, das alle Zeichen und Sequenzen enthält, die in diesem Sortator zugeschnitten sind. (Geerbt von Collator) |
| ThresholdClass |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Collator) |
| ThresholdType |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Collator) |
| UCAVersion |
Rufen Sie die UCA-Version dieses Collator-Objekts ab. |
| UpperCaseFirst |
Gibt "true" zurück, wenn vor dem entsprechenden Kleinbuchstaben ein Großbuchstaben sortiert ist. -oder- Legt fest, ob Großbuchstaben vor Kleinbuchstaben sortiert werden oder umgekehrt, in Stärke TERTIÄR. |
| VariableTop |
<strong>[icu]</strong> Ruft den Variablenoberwert eines Collator ab. |
| Version |
Rufen Sie die Version dieses Collatorobjekts ab. |
Methoden
| Name | Beschreibung |
|---|---|
| Clone() |
Klont den Sortierer. (Geerbt von Collator) |
| CloneAsThawed() |
Stellt den Klonvorgang bereit. (Geerbt von Collator) |
| Compare(Object, Object) |
Vergleicht das Quellobjekt mit dem Zielobjekt. (Geerbt von Collator) |
| Compare(String, String) |
Vergleicht die Quelltextzeichenfolge mit der Zieltextzeichenfolge gemäß den Sortierregeln, der Stärke und dem Analysemodus für diese RuleBasedCollator. |
| Dispose() |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| Dispose(Boolean) |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| Equals(String, String) |
Vergleicht die Gleichheit von zwei Textzeichenfolgen mit den Regeln, Stärke und Analysemodus dieses Collator. (Geerbt von Collator) |
| Freeze() |
Fixiert den Sortierer. (Geerbt von Collator) |
| GetCollationElementIterator(ICharacterIterator) |
Gibt einen CollationElementIterator für den angegebenen CharacterIterator zurück. |
| GetCollationElementIterator(String) |
Gibt einen CollationElementIterator für die angegebene Zeichenfolge zurück. |
| GetCollationElementIterator(UCharacterIterator) |
Gibt einen CollationElementIterator für den angegebenen UCharacterIterator zurück. |
| GetCollationKey(String) |
Rufen Sie einen Sortierschlüssel für die Argumentzeichenfolgenquelle aus dieser RuleBasedCollator ab. |
| GetContractionsAndExpansions(UnicodeSet, UnicodeSet, Boolean) |
Ruft Unicode-Sätze ab, die Kontraktionen und/oder Erweiterungen eines Sortators enthalten |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| GetReorderCodes() |
Ruft die Neuanordnungscodes für diese Sortierer ab. (Geerbt von Collator) |
| GetRules(Boolean) |
Gibt aktuelle Regeln zurück. |
| JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| SetAlternateHandlingDefault() |
Legt den alternativen Behandlungsmodus beim Erstellen des RuleBasedCollator auf den ursprünglichen Modus fest. |
| SetCaseFirstDefault() |
Legt den ersten Fallmodus auf den anfänglichen Modus fest, der während der Erstellung des RuleBasedCollator festgelegt wurde. |
| SetCaseLevelDefault() |
Legt den Modus auf Fallebene auf den anfänglichen Modus fest, der während der Erstellung des RuleBasedCollator festgelegt wurde. |
| SetDecompositionDefault() |
Legt den Analysemodus auf den anfänglichen Modus fest, der während der Erstellung des RuleBasedCollator festgelegt wurde. |
| SetFrenchCollationDefault() |
Legt den französischen Sortiermodus auf den anfänglichen Modus fest, der während der Erstellung des RuleBasedCollator festgelegt wurde. |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetMaxVariable(Int32) |
<strong>[icu]</strong> Legt die Variable oben auf den Anfang der angegebenen Neuanordnungsgruppe fest. (Geerbt von Collator) |
| SetNumericCollationDefault() |
Methode zum Festlegen der numerischen Sortierung auf den Standardwert. |
| SetReorderCodes(Int32[]) |
Legt die Neuanordnungscodes für diese Sortierer fest. (Geerbt von Collator) |
| SetStrengthDefault() |
Legt die Sortierfestigkeit auf den ursprünglichen Modus fest, der während der Konstruktion des RuleBasedCollator festgelegt wurde. |
| ToArray<T>() |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IComparator.Compare(Object, Object) |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Collator) |
| IFreezable.CloneAsThawed() |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Collator) |
| IFreezable.Freeze() |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Collator) |
| IJavaPeerable.Disposed() |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| IJavaPeerable.Finalized() |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| IJavaPeerable.JniManagedPeerState |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. (Geerbt von Object) |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
RuleBasedCollator ist eine konkrete Unterklasse von Collator. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |