Language

Collator クラス

定義

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

[Android.Runtime.Register("android/icu/text/Collator", ApiSince=24, DoNotGenerateAcw=true)]
public abstract class Collator : Java.Lang.Object, Android.Icu.Util.IFreezable, IDisposable, Java.Util.IComparator
[<Android.Runtime.Register("android/icu/text/Collator", ApiSince=24, DoNotGenerateAcw=true)>]
type Collator = class
    inherit Object
    interface IFreezable
    interface ICloneable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IComparator
継承
派生
属性
実装

注釈

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。 ICU に固有のメソッド、フィールド、およびその他の機能には、"<strong>[icu]</strong>' というラベルが付けられます。

Collator は、ロケールに依存する文字列比較を実行します。 具象サブクラス RuleBasedCollator を使用すると、ルール セットを使用して照合順序の順序をカスタマイズできます。

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

Unicode 照合順序アルゴリズム (UCA) の Unicode コンソーシアムの仕様に従って、比較で使用される強度のレベルは 5 つあります。

ulliPRIMARY の強度: 通常、これは基本文字の違いを示すために使用されます (例: "a" <"b")。 それは最も強い違いです。 たとえば、辞書は基本文字ごとに異なるセクションに分割されます。 liSECONDARY の強さ: 文字のアクセントは二次的な相違点と見なされます (例: "as" <">s" <"at")。 文字間の他の違いは、言語に応じて二次的な違いと見なすこともできます。 文字列内の任意の場所に主な違いがある場合、2 番目の違いは無視されます。 liTERTIARY 強度: 文字の大文字と小文字の違いは、3 番目の強さで区別されます (例: "ao" <"Ao" >"a&ograve;")。 さらに、文字のバリアントは、3 番目の強さの基本形式 ("A" や "(A)" など) とは異なります。 もう 1 つの例として、大きなかなと小さいかなの違いがあります。 文字列内の任意の場所にプライマリまたはセカンダリの違いがある場合、3 番目の違いは無視されます。 liQUATERNARY 強度: PRIMARY から TERTIARY の強度で句読点が無視される ( ユーザー ガイドの句読点を無視するを参照) 場合、句読点の有無に関係なく単語を区別するために追加の強度レベルを使用できます (例: "ab" <"a-b" <"aB")。 PRIMARY、SECONDARY、または TERTIARY の違いがある場合、この違いは無視されます。 第 14 の強度は、句読点を無視する必要がある場合にのみ使用してください。 <li>IDENTICAL 強度: 他のすべての強度が等しい場合、同一強度がタイブレーカーとして使用されます。 違いがない場合に備えて、各文字列の NFD 形式の Unicode コード ポイント値が比較されます。 たとえば、ヘブライ語の cantillation マークは、この強さでのみ区別されます。 2 つの文字列間のコード ポイント値の違いのみが非常にまれであるため、この強度は控えめに使用する必要があります。 この強度を使用すると、比較キー生成 API と照合順序キー生成 API の両方のパフォーマンスが大幅に低下します。 この強度により、照合順序キーのサイズも大きくなります。 </ul>

JDK とは異なり、ICU4J の Collator は、正規分解モードと分解を使用しない 2 つの分解モードのみを処理します。 互換性分解モードjava.text.Collator.FULL_DECOMPOSITIONここではサポートされていません。 正規分解モードが設定されている場合、Collator は正規化されていないテキストを適切に処理し、テキストが NFD で正規化された場合と同じ結果を生成します。 正規分解が無効になっている場合、比較を実行する前または CollationKey を取得する前に、すべてのテキストが既に適切な形式になっていることを確認する必要があります。

照合順序サービスの詳細については、「 ユーザー ガイド」を参照してください。

使用例

// Get the Collator for US English and set its strength to PRIMARY
            Collator usCollator = Collator.getInstance(Locale.US);
            usCollator.setStrength(Collator.PRIMARY);
            if (usCollator.compare("abc", "ABC") == 0) {
                System.out.println("Strings are equivalent");
            }

            The following example shows how to compare two strings using the
            Collator for the default locale.

            // Compare two strings in the default locale
            Collator myCollator = Collator.getInstance();
            myCollator.setDecomposition(NO_DECOMPOSITION);
            if (myCollator.compare("&agrave;&#92;u0325", "a&#92;u0325&#768;") != 0) {
                System.out.println("&agrave;&#92;u0325 is not equals to a&#92;u0325&#768; without decomposition");
                myCollator.setDecomposition(CANONICAL_DECOMPOSITION);
                if (myCollator.compare("&agrave;&#92;u0325", "a&#92;u0325&#768;") != 0) {
                    System.out.println("Error: &agrave;&#92;u0325 should be equals to a&#92;u0325&#768; with decomposition");
                }
                else {
                    System.out.println("&agrave;&#92;u0325 is equals to a&#92;u0325&#768; with decomposition");
                }
            }
            else {
                System.out.println("Error: &agrave;&#92;u0325 should be not equals to a&#92;u0325&#768; without decomposition");
            }

Javaドキュメント。

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

コンストラクター

名前 説明
Collator()

javadocs を幸せにする空の既定のコンストラクター

Collator(IntPtr, JniHandleOwnership)

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

フィールド

名前 説明
CanonicalDecomposition
古い.

分解モードの値。

FullDecomposition
古い.

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

Identical
古い.

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

NoDecomposition
古い.

分解モードの値。

Primary
古い.

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

Quaternary
古い.

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

Secondary
古い.

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

Tertiary
古い.

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

プロパティ

名前 説明
Class

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

(継承元 Object)
Decomposition

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

Handle

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

(継承元 Object)
Instance

現在の既定のロケールの Collator を返します。

IsFrozen

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

JniIdentityHashCode

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

(継承元 Object)
JniManagedPeerState

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

(継承元 JavaObject)
JniPeerMembers

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

MaxVariable

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

PeerReference

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

(継承元 Object)
Strength

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

TailoredSet

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

ThresholdClass

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

ThresholdType

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

UCAVersion

[icu]このコレーター オブジェクトの UCA バージョンを返します。

VariableTop

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

Version

[icu]このコレーター オブジェクトのバージョンを返します。

メソッド

名前 説明
Clone()

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

CloneAsThawed()

複製操作を提供します。

Compare(Object, Object)

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

Compare(String, String)

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

Construct(JniObjectReference, JniObjectReferenceOptions)

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

(継承元 JavaObject)
Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
DisposeUnlessReferenced()

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

(継承元 JavaObject)
Equals(Object)

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

(継承元 JavaObject)
Equals(Object)

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

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

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

Freeze()

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

GetAvailableLocales()

コレーターがインストールされているロケール オブジェクトとしてロケールのセットを返します。

GetAvailableULocales()

<strong>[icu]</strong> コレーターがインストールされている ULocale オブジェクトとしてロケールのセットを返します。

GetCollationKey(String)

効率的な繰り返し比較に適した CollationKey に文字列を変換します。

GetDisplayName(Locale, Locale)

<strong>[icu]</strong> displayLocale にローカライズされた objectLocale のコレーターの名前を返します。

GetDisplayName(Locale)

<strong>[icu]</strong> 既定の DISPLAY ロケールにローカライズされた objectLocale のコレーターの名前を返します。

GetDisplayName(ULocale, ULocale)

<strong>[icu]</strong> displayLocale にローカライズされた objectLocale のコレーターの名前を返します。

GetDisplayName(ULocale)

<strong>[icu]</strong> 既定の DISPLAY ロケールにローカライズされた objectLocale のコレーターの名前を返します。

GetEquivalentReorderCodes(Int32)

指定された並べ替えコードでグループ化されたすべての並べ替えコードを取得します。

GetFunctionalEquivalent(String, ULocale, Boolean[])

<strong>[icu]</strong> 照合順序サービスの指定されたキーワードに関して、指定された要求されたロケールに対して機能的に同等のロケールを返します。

GetFunctionalEquivalent(String, ULocale)

<strong>[icu]</strong> 照合順序サービスの指定されたキーワードに関して、指定された要求されたロケールに対して機能的に同等のロケールを返します。

GetHashCode()

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

(継承元 Object)
GetInstance(Locale)

目的のロケールの Collator を返します。

GetInstance(ULocale)

<strong>[icu]</strong> 目的のロケールの Collator を返します。

GetKeywords()

<strong>[icu]</strong> 照合順序に関連するすべてのキーワードの配列を返します。

GetKeywordValues(String)

<strong>[icu]</strong> キーワードを指定すると、現在使用されているそのキーワードのすべての値の配列が返されます。

GetKeywordValuesForLocale(String, ULocale, Boolean)

<strong>[icu]</strong> キーとロケールを指定すると、違いを生む文字列値の配列が優先順序で返されます。

GetReorderCodes()

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

JavaFinalize()
古い.

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

(継承元 Object)
Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
SetHandle(IntPtr, JniHandleOwnership)

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

(継承元 Object)
SetMaxVariable(Int32)

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

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

(継承元 JavaObject)
SetReorderCodes(Int32[])

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

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)

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

IFreezable.CloneAsThawed()

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

IFreezable.Freeze()

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

IJavaPeerable.Disposed()

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

(継承元 JavaObject)
IJavaPeerable.Finalized()

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

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

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

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

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

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

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

<strong>[icu enhancement]</strong> ICU の java.text.Collator の置き換え。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象