RuleBasedCollator クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 は 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 = "& 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>
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 = "& C < 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 = "= \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>
日本語 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 \u2212
String jaString = "& \u2212 <\u3041, \u3042 <\u3043, "
+ "\u3044";
RuleBasedCollator myJapaneseCollator
= new RuleBasedCollator(en_USCollator.getRules() + jaString);
</blockquote>
このクラスはサブクラス化できません
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| 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 |
この |
| 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) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
RuleBasedCollator は Collator の具象サブクラスです。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|