- 含まれているクラス:
- Locale
public static final class Locale.LanguageRange extends Object
基本と拡張という2つのタイプの言語範囲があります。 RFC 4647では、言語範囲の構文は次のようにABNFで表現されます。
 
     basic-language-range    = (1*8ALPHA *("-" 1*8alphanum)) / "*"
     extended-language-range = (1*8ALPHA / "*")
                               *("-" (1*8alphanum / "*"))
     alphanum                = ALPHA / DIGIT
 
 
 たとえば、"en" (英語)、"ja-JP" (日本語、日本)、"*" (任意の言語タグにマッチする特殊な言語範囲)は基本言語範囲、"*-CH" (任意の言語、スイス)、"es-*" (スペイン語、任意の地域)および"zh-Hant-*" (繁体字中国語、任意の地域)は拡張言語範囲です。- 導入されたバージョン:
- 1.8
- 関連項目:
- Locale.filter(java.util.List<java.util.Locale.LanguageRange>, java.util.Collection<java.util.Locale>, java.util.Locale.FilteringMode),- Locale.filterTags(java.util.List<java.util.Locale.LanguageRange>, java.util.Collection<java.lang.String>, java.util.Locale.FilteringMode),- Locale.lookup(java.util.List<java.util.Locale.LanguageRange>, java.util.Collection<java.util.Locale>),- Locale.lookupTag(java.util.List<java.util.Locale.LanguageRange>, java.util.Collection<java.lang.String>)
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static doubleMAX_WEIGHT重みの最大値、1.0を保持する定数、言語範囲がユーザーに最適であることを示します。static doubleMIN_WEIGHT重みの最小値、0.0を保持する定数、言語範囲がユーザーに適さないことを示します。
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 LanguageRange(String range)指定されたrangeを使用してLanguageRangeを構築します。LanguageRange(String range, double weight)指定されたrangeとweightを使用してLanguageRangeを構築します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 booleanequals(Object obj)このオブジェクトを指定されたオブジェクトと比較します。StringgetRange()このLanguageRangeの言語範囲を返します。doublegetWeight()このLanguageRangeの重みを返します。inthashCode()オブジェクトのハッシュ・コード値を返します。static List<Locale.LanguageRange>mapEquivalents(List<Locale.LanguageRange> priorityList, Map<String,List<String>> map)指定されたpriorityListとmapを使って新しいカスタマイズされた言語優先度リストを生成します。static List<Locale.LanguageRange>parse(String ranges)指定されたrangesを解析して、言語優先度リストを生成します。static List<Locale.LanguageRange>parse(String ranges, Map<String,List<String>> map)指定されたrangesを解析して言語優先度リストを生成してから、指定されたmapを使用してリストをカスタマイズします。StringtoString()このLanguageRangeオブジェクトの有益な文字列表現を返します。範囲が重み付けされ、その重みが最大の重みよりも小さい場合、言語の範囲と重みからなります。
- 
フィールド詳細- 
MAX_WEIGHTpublic static final double MAX_WEIGHT重みの最大値、1.0を保持する定数、言語範囲がユーザーに最適であることを示します。- 関連項目:
- 定数フィールド値
 
- 
MIN_WEIGHTpublic static final double MIN_WEIGHT重みの最小値、0.0を保持する定数、言語範囲がユーザーに適さないことを示します。- 関連項目:
- 定数フィールド値
 
 
- 
- 
コンストラクタの詳細- 
LanguageRangepublic LanguageRange(String range)指定されたrangeを使用してLanguageRangeを構築します。 構築時にはIANA Language Subtag Registryに対する検証は行われません。これは LanguageRange(range, MAX_WEIGHT)と同等です。- パラメータ:
- range- 言語範囲
- 例外:
- NullPointerException- 指定された- rangeが- nullの場合
- IllegalArgumentException- 指定された- rangeがRFC 4647で言及されている言語範囲の構文に準拠していない場合
 
- 
LanguageRangepublic LanguageRange(String range, double weight)指定されたrangeとweightを使用してLanguageRangeを構築します。 構築時にはIANA Language Subtag Registryに対する検証は行われません。- パラメータ:
- range- 言語範囲
- weight-- MIN_WEIGHTから- MAX_WEIGHTの重み値
- 例外:
- NullPointerException- 指定された- rangeが- nullの場合
- IllegalArgumentException- 与えられた- rangeがRFC 4647で言及された言語範囲の構文に従わない場合、または指定された- weightが- MIN_WEIGHTより小さいか- MAX_WEIGHTより大きい場合
 
 
- 
- 
メソッドの詳細- 
getRangepublic String getRange()このLanguageRangeの言語範囲を返します。- 戻り値:
- 言語範囲。
 
- 
getWeightpublic double getWeight()このLanguageRangeの重みを返します。- 戻り値:
- 重み値。
 
- 
parsepublic static List<Locale.LanguageRange> parse(String ranges)指定されたrangesを解析して、言語優先度リストを生成します。このメソッドは、言語範囲ごとに指定された rangesで構文チェックを実行しますが、IANA Language Subtag Registryを使用した検証は行いません。指定される rangesは次のいずれかの形式を取ることができます。"Accept-Language: ja,en;q=0.4" (weighted list with Accept-Language prefix) "ja,en;q=0.4" (weighted list) "ja,en" (prioritized list) 重み付けされたリストでは、各言語範囲に重み値が与えられます。 重み値はRFC 2616の品質値と同一で、ユーザーがどの程度言語を優先するかを表します。 重み値は対応する言語範囲と";q="の後に指定され、デフォルトの重み値はMAX_WEIGHT(省略時)になります。重み付けされたリストとは異なり、優先順位付きリストの言語範囲は優先度に基づいて降順でソートされます。 最初の言語範囲は最高の優先度を持ち、ユーザーの設定をもっとも満たします。 いずれの場合も、言語範囲は言語優先度リスト内で優先度または重みに基づいて降順でソートされます。 指定された rangesに1つの言語範囲が複数回出現する場合、最初の言語範囲のみが言語優先度リストに取り込まれます。返されるリストは、指定された rangesからの言語範囲とIANA Language Subtag Registryで見つかる同等のものから構成されます。 たとえば、指定されたrangesが"Accept-Language: iw,en-us;q=0.7,en;q=0.3"の場合、返されるリスト内の要素は次のようになります。Range Weight "iw" (older tag for Hebrew) 1.0 "he" (new preferred code for Hebrew) 1.0 "en-us" (English, United States) 0.7 "en" (English) 0.32つの言語範囲、"iw"と"he"が、リスト内で同じ最高優先度を持っています。 アプリケーションまたはシステムが"he"のみをサポートされるロケール(言語タグ)として提供する場合でも、"he"をユーザーの言語優先度リストに追加することで、ロケール・マッチング・メソッドはヘブライ語をマッチするロケール(言語タグ)として見つけることができます。- パラメータ:
- ranges- カンマ区切りの言語範囲のリスト、つまりRFC 2616で定義されているAccept-Languageヘッダー形式の言語範囲のリスト
- 戻り値:
- 指定されたrangesおよびそれらの同等言語範囲(ある場合)に含まれる言語範囲から構成される言語優先度リスト リストは変更可能です。
- 例外:
- NullPointerException-- rangesがnullの場合。
- IllegalArgumentException- 指定された- rangesに見つかる言語範囲または重みが整形式でない場合
 
- 
parse指定されたrangesを解析して言語優先度リストを生成してから、指定されたmapを使用してリストをカスタマイズします。 このメソッドはmapEquivalents(parse(ranges), map)と同等です。- パラメータ:
- ranges- カンマ区切りの言語範囲のリスト、つまりRFC 2616で定義されているAccept-Languageヘッダー形式の言語範囲のリスト
- map- 言語範囲をカスタマイズするための情報を含むマップ
- 戻り値:
- カスタマイズ付き言語優先度リスト。 リストは変更可能です。
- 例外:
- NullPointerException-- rangesがnullの場合。
- IllegalArgumentException- 指定された- rangesに見つかる言語範囲または重みが整形式でない場合
- 関連項目:
- parse(String)、- mapEquivalents(java.util.List<java.util.Locale.LanguageRange>、java.util.Map<java.lang.String, java.util.List<java.lang.String>>)
 
- 
mapEquivalentspublic static List<Locale.LanguageRange> mapEquivalents(List<Locale.LanguageRange> priorityList, Map<String,List<String>> map)指定されたpriorityListとmapを使って新しいカスタマイズされた言語優先度リストを生成します。 指定されたmapが空の場合、このメソッドは指定されたpriorityListのコピーを返します。マップでは、キーは言語範囲を表し、値はそれの同等なもののリストです。マップでは '*'を使用できません。 すべての同等言語範囲は、その元の言語範囲と同じ重み値を持ちます。An example of map: Key Value "zh" (Chinese) "zh", "zh-Hans"(Simplified Chinese) "zh-HK" (Chinese, Hong Kong) "zh-HK" "zh-TW" (Chinese, Taiwan) "zh-TW"カスタマイズは、IANA Language Subtag Registryを使用した変更の後に実行されます。たとえば、ユーザーの言語優先度リストが5つの言語範囲( "zh"、"zh-CN"、"en"、"zh-TW"および"zh-HK")から構成される場合、前述のマップ例を使用してカスタマイズされる、新しく生成される言語優先度リストは、"zh"、"zh-Hans"、"zh-CN"、"zh-Hans-CN"、"en"、"zh-TW"および"zh-HK"から構成されます。"zh-HK"および"zh-TW"は"zh-Hans-HK"および"zh-Hans-TW"に変換されません(それらが言語優先度リストに含まれている場合でも)。 この例では、マッピングは簡体字中国語と繁体字中国語を明確に区別するために使用されます。"zh"から"zh"へのマッピングがマップに含まれない場合、単純な置換が実行され、カスタマイズされたリストには"zh"と"zh-CN"は含まれません。- パラメータ:
- priorityList- ユーザーの言語優先度リスト
- map- 言語範囲をカスタマイズするための情報を含むマップ
- 戻り値:
- カスタマイズ付きの新しい言語優先度リスト。 リストは変更可能です。
- 例外:
- NullPointerException-- priorityListが- nullの場合
- 関連項目:
- parse(String, Map)
 
- 
hashCodepublic int hashCode()オブジェクトのハッシュ・コード値を返します。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- 
equalspublic boolean equals(Object obj)このオブジェクトを指定されたオブジェクトと比較します。 結果がtrueになるのは、引数がnullでなく、このオブジェクトと同じrangeおよびweight値を含むLanguageRangeオブジェクトである場合だけです。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj- 比較対象のオブジェクト
- 戻り値:
- このオブジェクトのrangeおよびweightがobjと同じ場合はtrue、それ以外の場合はfalse。
- 関連項目:
- Object.hashCode()、- HashMap
 
- 
toStringpublic String toString()このLanguageRangeオブジェクトの有益な文字列表現を返します。範囲が重み付けされ、その重みが最大の重みよりも小さい場合、言語の範囲と重みからなります。
 
-