RuleBasedCollator クラス

定義

RuleBasedCollator は 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
継承
RuleBasedCollator
属性

注釈

RuleBasedCollator は Collator の具象サブクラスです。 これにより、ユーザー指定のルール セットを使用して Collator をカスタマイズできます。 RuleBasedCollator は、 Unicode 照合順序アルゴリズム (UCA) に完全に準拠するように設計されており、ISO 14651 に準拠しています。

Collator は、固定されている場合にのみスレッド セーフです。 「#isFrozen()」と「android.icu.util.Freezable」を参照してください。

このクラスを使用する前に、照合順序サービスの詳細については 、ユーザー ガイド を参照することを強くお勧めします。

基本クラス Collator で getInstance(Locale) ファクトリ メソッドを呼び出して、ロケールから RuleBasedCollator を作成します。 Collator.getInstance(Locale) は、引数ロケールによって定義された照合順序ルールに基づいて RuleBasedCollator オブジェクトを作成します。 カスタマイズされた照合順序の順序または属性が必要な場合は、適切な規則で RuleBasedCollator(String) コンストラクターを使用します。 カスタマイズされた RuleBasedCollator は、CLDR ルート照合順序に基づいて順序付けを行い、指定したルール内の文字の属性と順序を適宜再調整します。

RuleBasedCollator は、ICU でサポートされているほとんどのロケールに対して正しい照合順序を提供します。 ロケールの特定のデータを使用できない場合、順序は最終的に CLDR ルートの並べ替え順序にフォールバックします。

照合順序規則の構文とカスタマイズの詳細については、ユーザー ガイドの 照合順序のカスタマイズ に関するセクションを参照してください。

<strong>Note</strong> Java と ICU4J で使用される照合順序規則の構文にはいくつかの違いがあります。

<ul><li> JDK ドキュメントへのアクセス: <br>Modifier '!' : タイ語/ラオス語の母音子交換を有効にします。範囲のタイ語母音が有効な場合は >#92;U0E40-\U0E44 は、範囲のタイ語の子音に先行しています > >U0E01-\U0E2E または範囲のラオス母音 > >U0EC0-\U0EC4 は、範囲のラオスの子音に先行しています > >U0E81-\その後、U0EAE は照合順序の目的で子音の後に母音が配置されます。 <br> ルールに修飾子 '!' がない場合、タイ語/ラオス語の母音と子音のスワップはオンになりません。 <br> ICU4J の RuleBasedCollator では、タイ語/ラオス語の母音子交換の無効化はサポートされていません。これは、正しい並べ替え順序を確保するためにサポートする必要があることを 時に明確に示しているためです。 '!' が検出された場合、無視されます。</li><li>基底クラス Collator のドキュメントに記載されているように、互換性分解モードはサポートされていません。</li></ul>

<strong>Examples</strong>

カスタマイズされた RuleBasedCollators の作成: <blockquote>

String simple = "&amp; a &lt; b &lt; c &lt; d";
            RuleBasedCollator simpleCollator = new RuleBasedCollator(simple);

            String norwegian = "&amp; a , A &lt; b , B &lt; c , C &lt; d , D &lt; e , E "
                               + "&lt; f , F &lt; g , G &lt; h , H &lt; i , I &lt; j , "
                               + "J &lt; k , K &lt; l , L &lt; m , M &lt; n , N &lt; "
                               + "o , O &lt; p , P &lt; q , Q &lt;r , R &lt;s , S &lt; "
                               + "t , T &lt; u , U &lt; v , V &lt; w , W &lt; x , X "
                               + "&lt; y , Y &lt; z , Z &lt; &#92;u00E5 = a&#92;u030A "
                               + ", &#92;u00C5 = A&#92;u030A ; aa , AA &lt; &#92;u00E6 "
                               + ", &#92;u00C6 &lt; &#92;u00F8 , &#92;u00D8";
            RuleBasedCollator norwegianCollator = new RuleBasedCollator(norwegian);

</blockquote>

Collatorを結合する規則の連結: <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>

既存の RuleBasedCollator に変更を加え、既存のルールに変更を追加して新しい Collator オブジェクトを作成する: <blockquote>

// Create a new Collator object with additional rules
            String addRules = "&amp; C &lt; ch, cH, Ch, CH";
            RuleBasedCollator myCollator =
                new RuleBasedCollator(en_USCollator.getRules() + addRules);
            // myCollator contains the new rules

</blockquote>

空白以外のアクセントの順序を変更する方法: <blockquote>

// old rule with main accents
            String oldRules = "= &#92;u0301 ; &#92;u0300 ; &#92;u0302 ; &#92;u0308 "
                            + "; &#92;u0327 ; &#92;u0303 ; &#92;u0304 ; &#92;u0305 "
                            + "; &#92;u0306 ; &#92;u0307 ; &#92;u0309 ; &#92;u030A "
                            + "; &#92;u030B ; &#92;u030C ; &#92;u030D ; &#92;u030E "
                            + "; &#92;u030F ; &#92;u0310 ; &#92;u0311 ; &#92;u0312 "
                            + "&lt; a , A ; ae, AE ; &#92;u00e6 , &#92;u00c6 "
                            + "&lt; b , B &lt; c, C &lt; e, E &amp; C &lt; d , D";
            // change the order of accent characters
            String addOn = "&amp; &#92;u0300 ; &#92;u0308 ; &#92;u0302";
            RuleBasedCollator myCollator = new RuleBasedCollator(oldRules + addOn);

</blockquote>

日本語 Collatorで日本語文字の前後に英語文字を並べ替えるなど、既定の設定の前に新しいプライマリの順序を設定する: <ブロッククォート>

// 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 &#92;u2212
            String jaString = "&amp; &#92;u2212 &lt;&#92;u3041, &#92;u3042 &lt;&#92;u3043, "
                              + "&#92;u3044";
            RuleBasedCollator myJapaneseCollator
                         = new RuleBasedCollator(en_USCollator.getRules() + jaString);

</blockquote>

このクラスはサブクラス化できません

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
RuleBasedCollator(String)

カスタマイズの引数ルールを受け取るコンストラクター。

フィールド

名前 説明
CanonicalDecomposition
古い.

分解モードの値。

(継承元 Collator)
FullDecomposition
古い.

<strong>[icu] Note:</strong> これは、Java API との下位互換性のみを目的としています。

(継承元 Collator)
Identical
古い.

コレーターの最小強度値。

(継承元 Collator)
NoDecomposition
古い.

分解モードの値。

(継承元 Collator)
Primary
古い.

最も強いコレーターの強度値。

(継承元 Collator)
Quaternary
古い.

<strong>[icu]</strong> 第 4 レベルコレーターの強度値。

(継承元 Collator)
Secondary
古い.

第 2 レベルコレータの強度値。

(継承元 Collator)
Tertiary
古い.

第 3 レベルコレータの強度値。

(継承元 Collator)

プロパティ

名前 説明
AlternateHandlingShifted

代替処理動作が 時に定義された SHIFTED またはNON_IGNORABLEかどうかを確認します。 または、第 4 次強度の代替処理をシフトまたは無視不可に設定します。

CaseLevel

ケース レベルが true に設定されているかどうかを確認します。 または、ケース レベルが true に設定されている場合、セカンダリと 3 次の重みの間に追加の重みが形成されます (ケース レベルと呼ばれます)。

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Decomposition

この Collator の分解モードを返します。 または、このコレーターの分解モードを設定します。

(継承元 Collator)
FrenchCollation

フランス語の照合順序が true に設定されているかどうかを確認します。 または、フランス語の照合順序で使用するセカンダリ重みの方向のモードを設定します。

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsFrozen

オブジェクトが固定されているかどうかを判断します。

(継承元 Collator)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniPeerMembers

RuleBasedCollator は Collator の具象サブクラスです。

LowerCaseFirst

対応する大文字の前に小文字を並べ替えた場合は true を返します。 または、大文字の文字の前に並べ替える、小文字の文字の順序を設定します(強度3次)。

MaxVariable

<strong>[icu]</strong> 代替処理動作の影響を受ける文字の最大並べ替えグループを返します。

(継承元 Collator)
NumericCollation

数値照合順序の値を取得するメソッド。 または、 <strong>[icu]</strong> 数値の照合順序を有効にすると、この Collator は数値に従って桁の部分文字列を並べ替えます。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
Rules

この RuleBasedCollator の照合順序調整規則を取得します。

Strength

このコレーターの強度属性を返します。 または、このコレーターの強度属性を設定します。

(継承元 Collator)
TailoredSet

<strong>[icu]</strong> このコレーターで調整されたすべての文字とシーケンスを含む UnicodeSet を返します。

(継承元 Collator)
ThresholdClass

RuleBasedCollator は Collator の具象サブクラスです。

(継承元 Collator)
ThresholdType

RuleBasedCollator は Collator の具象サブクラスです。

(継承元 Collator)
UCAVersion

このコレーター オブジェクトの UCA バージョンを取得します。

UpperCaseFirst

対応する小文字の前に大文字を並べ替えた場合は true を返します。 または、大文字を小文字の前に並べ替えるか、その逆にするかを、強度で設定します。

VariableTop

<strong>[icu]</strong> Collator の変数の最上位値を取得します。

Version

このコレーター オブジェクトのバージョンを取得します。

メソッド

名前 説明
Clone()

コレーターを複製します。

(継承元 Collator)
CloneAsThawed()

複製操作を提供します。

(継承元 Collator)
Compare(Object, Object)

ソース オブジェクトとターゲット オブジェクトを比較します。

(継承元 Collator)
Compare(String, String)

この RuleBasedCollator の照合順序ルール、強度、分解モードに従って、ソース テキスト文字列とターゲット テキスト文字列を比較します。

Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
Equals(String, String)

この Collator のルール、強度、分解モードを使用して、2 つのテキスト文字列の等価性を比較します。

(継承元 Collator)
Freeze()

コレーターを固定します。

(継承元 Collator)
GetCollationElementIterator(ICharacterIterator)

指定された CharacterIterator の CollationElementIterator を返します。

GetCollationElementIterator(String)

指定された文字列の CollationElementIterator を返します。

GetCollationElementIterator(UCharacterIterator)

指定された UCharacterIterator の CollationElementIterator を返します。

GetCollationKey(String)

この RuleBasedCollator から引数 String ソースの照合順序キーを取得します。

GetContractionsAndExpansions(UnicodeSet, UnicodeSet, Boolean)

コレーターの縮小や拡張を含む Unicode セットを取得します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetReorderCodes()

このコレーターの並べ替えコードを取得します。

(継承元 Collator)
GetRules(Boolean)

現在のルールを返します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
SetAlternateHandlingDefault()

RuleBasedCollator の構築中に設定された初期モードに代替処理モードを設定します。

SetCaseFirstDefault()

RuleBasedCollator の構築時に、ケースの最初のモードを初期モードに設定します。

SetCaseLevelDefault()

RuleBasedCollator の構築中に設定された初期モードにケース レベル モードを設定します。

SetDecompositionDefault()

RuleBasedCollator の構築中に設定された初期モードに分解モードを設定します。

SetFrenchCollationDefault()

RuleBasedCollator の構築中に設定された初期モードにフランス語の照合順序モードを設定します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetMaxVariable(Int32)

<strong>[icu]</strong> 指定した並べ替えグループの先頭に変数の先頭を設定します。

(継承元 Collator)
SetNumericCollationDefault()

数値照合順序を既定値に設定するメソッド。

SetReorderCodes(Int32[])

このコレーターの並べ替えコードを設定します。

(継承元 Collator)
SetStrengthDefault()

RuleBasedCollator の構築中に設定された初期モードに照合順序の強度を設定します。

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IComparator.Compare(Object, Object)

RuleBasedCollator は Collator の具象サブクラスです。

(継承元 Collator)
IFreezable.CloneAsThawed()

RuleBasedCollator は Collator の具象サブクラスです。

(継承元 Collator)
IFreezable.Freeze()

RuleBasedCollator は Collator の具象サブクラスです。

(継承元 Collator)
IJavaPeerable.Disposed()

このマネージド ピアが破棄されたことを相互運用ランタイムに通知します。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

別のマネージド参照によって保持されない限り、このJavaピアを解放します。

(継承元 Object)
IJavaPeerable.Finalized()

このマネージド ピアが終了したことを相互運用ランタイムに通知します。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

このマネージド ピアとその JNI 参照の間の関係を記述する状態を取得します。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

このJava ピアの相互運用 ID ハッシュ コードを設定します。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

このJava ピアのマネージド ピアと JNI ピアの状態を設定します。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

このマネージド ピアで使用される JNI オブジェクト参照を設定します。

(継承元 Object)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

RuleBasedCollator は Collator の具象サブクラスです。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象