public static final class Locale.Builder extends Object
Builderは、setterによって構成される値からLocaleのインスタンスを構築するために使用されます。 Localeコンストラクタとは異なり、Builderは、setterによって構成される値がLocaleクラスで定義されている構文要件を満たしているかどうかを確認します。 Builderによって作成されるLocaleオブジェクトは整形式であり、情報を失うことなく整形式のIETF BCP 47言語タグに変換できます。
ノート: Localeクラスではバリアントに構文上の制限は規定されていませんが、BCP 47では、各バリアント・サブタグは5つから8つまでの英数字であるか、1つの数字に3つの英数字が続いたものでなければいけません。 バリアントがこの制限を満たしていない場合、setVariantはIllformedLocaleExceptionをスローします。 そのようなバリアントをサポートする必要がある場合は、Localeコンストラクタを使用してください。 ただし、この方法で作成されたLocaleオブジェクトは、BCP 47言語タグに変換されるときにバリアント情報を失う可能性があることに注意してください。
次の例は、LocaleオブジェクトをBuilderで作成する方法を示しています。
Locale aLocale = new Builder().setLanguage("sr").setScript("Latn").setRegion("RS").build();
Builderは再利用できます。clear()は、すべてのフィールドをデフォルト値にリセットします。
Locale.forLanguageTag(java.lang.String)| コンストラクタ | 説明 |
|---|---|
Builder() |
空のBuilderを構築します。
|
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
Locale.Builder |
addUnicodeLocaleAttribute(String attribute) |
Unicodeロケール属性が存在しない場合にそれを追加します。それ以外の場合は何の影響もありません。
|
Locale |
build() |
このビルダーに設定されているフィールドから作成された
Localeのインスタンスを返します。 |
Locale.Builder |
clear() |
ビルダーを初期の空の状態にリセットします。
|
Locale.Builder |
clearExtensions() |
拡張を初期の空の状態にリセットします。
|
Locale.Builder |
removeUnicodeLocaleAttribute(String attribute) |
Unicodeロケール属性が存在する場合にそれを削除します。それ以外の場合は何の影響もありません。
|
Locale.Builder |
setExtension(char key, String value) |
指定されたキーの拡張を設定します。
|
Locale.Builder |
setLanguage(String language) |
言語を設定します。
|
Locale.Builder |
setLanguageTag(String languageTag) |
Builderを指定されたIETF BCP 47言語タグに適合するようにリセットします。
|
Locale.Builder |
setLocale(Locale locale) |
Builderを指定されたlocaleに適合するようにリセットします。 |
Locale.Builder |
setRegion(String region) |
地域を設定します。
|
Locale.Builder |
setScript(String script) |
スクリプトを設定します。
|
Locale.Builder |
setUnicodeLocaleKeyword(String key, String type) |
指定されたキーのUnicodeロケール・キーワードの型を設定します。
|
Locale.Builder |
setVariant(String variant) |
バリアントを設定します。
|
public Locale.Builder setLocale(Locale locale)
Builderを指定されたlocaleに適合するようにリセットします。 既存の状態は破棄されます。
ロケールのフィールドはすべて整形式でなければいけません。Localeを参照してください。
ロケールに整形式でないフィールドが含まれていると、互換性のために許容されている次の3つの場合を除き、IllformedLocaleExceptionがスローされます。
locale - ロケールIllformedLocaleException - localeに整形式でないフィールドがある場合。NullPointerException - localeがnullである場合。public Locale.Builder setLanguageTag(String languageTag)
clear()と同様にBuilderがリセットされます。 適用外のタグ(Locale.forLanguageTag(java.lang.String)を参照)は、その正規の形式に変換されてから処理されます。 それ以外の場合、言語タグは整形式でなければならず(Localeを参照)、そうでない場合は例外がスローされます(タグの整形式でない部分以降を単に破棄するLocale.forLanguageTagとは異なります)。 languageTag - 言語タグIllformedLocaleException - languageTagが整形式でない場合Locale.forLanguageTag(String)public Locale.Builder setLanguage(String language)
languageが空の文字列またはnullの場合は、このBuilderの言語が削除されます。 それ以外の場合、言語は整形式でなければならず、そうでない場合は例外がスローされます。
通常、言語の値は、ISO639で定義されている2文字または3文字の言語コードです。
language - 言語IllformedLocaleException - languageが整形式でない場合public Locale.Builder setScript(String script)
scriptがnullまたは空の文字列の場合は、このBuilderのスクリプトが削除されます。 それ以外の場合、スクリプトは整形式でなければならず、そうでない場合は例外がスローされます。
通常、スクリプトの値は、ISO 15924で定義されている4文字のスクリプト・コードです。
script - スクリプトIllformedLocaleException - scriptが整形式でない場合public Locale.Builder setRegion(String region)
Builderの地域が削除されます。 それ以外の場合、地域は整形式でなければならず、そうでない場合は例外がスローされます。
通常、地域の値は、2文字のISO 3166コードか、3桁のUN M.49地域コードです。
Builderによって作成されるLocaleの国の値は、常に大文字に正規化されます。
region - 地域IllformedLocaleException - regionが整形式でない場合public Locale.Builder setVariant(String variant)
Builderのバリアントが削除されます。 それ以外の場合、1つ以上の整形式サブタグから成る必要があり、そうでない場合は例外がスローされます。
ノート: このメソッドは、variantがIETF BCP 47のバリアント・サブタグの構文要件を満たしているかどうかを確認し、値を小文字に正規化します。 ただし、Localeクラスではバリアントに構文上の制限は規定されず、Localeのバリアント値では大文字と小文字が区別されます。 そのようなバリアントを設定するには、Localeコンストラクタを使用してください。
variant - バリアントIllformedLocaleException - variantが整形式でない場合public Locale.Builder setExtension(char key, String value)
ノート: キーUNICODE_LOCALE_EXTENSION (「u」)はUnicodeロケール拡張に使用されます。 このキーの値を設定すると、Unicodeロケール・キーとタイプの既存のペアがすべて、この拡張で定義されたものに置き換えられます。
ノート: キーPRIVATE_USE_EXTENSION (「x」)は私用コードに使用されます。 整形式となるためには、このキーの値は、一般的な2文字から8文字までではなく、1文字から8文字までの英数字のサブタグだけを含む必要があります。
key - 拡張キーvalue - 拡張値IllformedLocaleException - keyが不正であるかvalueが整形式でない場合setUnicodeLocaleKeyword(String, String)public Locale.Builder setUnicodeLocaleKeyword(String key, String type)
キーとタイプは小文字に変換されます。
ノート: setExtension(char, java.lang.String)を使用して「u」拡張を設定すると、すべてのUnicodeロケール・キーワードが、この拡張で定義されたものに置き換えられます。
key - Unicodeロケール・キーtype - Unicodeロケール・タイプIllformedLocaleException - keyまたはtypeが整形式でない場合NullPointerException - keyがnullである場合setExtension(char, String)public Locale.Builder addUnicodeLocaleAttribute(String attribute)
attribute - 属性NullPointerException - attributeがnullである場合IllformedLocaleException - attributeが整形式でない場合setExtension(char, String)public Locale.Builder removeUnicodeLocaleAttribute(String attribute)
削除のための属性の比較では、大文字と小文字は区別されません。
attribute - 属性NullPointerException - attributeがnullである場合IllformedLocaleException - attributeが整形式でない場合setExtension(char, String)public Locale.Builder clear()
public Locale.Builder clearExtensions()
setExtension(char, String)public Locale build()
Localeのインスタンスを返します。
Localeの構築時に、Locale.forLanguageTag(java.lang.String)に示された変換が適用されます。 (適用外のタグはsetLanguageTag(java.lang.String)で処理されます。)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。