Класс Locale.Builder
- Вложенный класс:
Locale
public static final class Locale.Builder extends Object
Builder используется для построения экземпляров Locale из значений, заданных методами-сеттерами. В отличие от конструкторов Locale или методов-фабрик Locale.of(), класс Builder проверяет, удовлетворяет ли значение, заданное сеттером, требованиям синтаксиса, определённым классом Locale. Объект Locale, полученный из Builder, является корректным и может быть преобразован в корректный тег языка IETF BCP 47 без потери информации. - Примечание об реализации:
- Класс
Localeне накладывает никаких синтаксических ограничений на вариант, в то время как BCP 47 требует, чтобы каждый подтег варианта состоял из 5-8 буквенно-цифровых символов или одной цифры, за которой следуют 3 буквенно-цифровых символа. МетодsetVariantвыбрасывает исключениеIllformedLocaleExceptionдля варианта, который не удовлетворяет этому ограничению. Если необходимо поддерживать такой вариант, используйтеLocale.of(String, String, String). Однако помните, что объектLocale, полученный таким способом, может потерять информацию о варианте при преобразовании в тег языка BCP 47.Следующий пример демонстрирует, как получить объект
Localeс помощьюBuilder.Locale aLocale = new Locale.Builder().setLanguage("sr").setScript("Latn").setRegion("RS").build();Бильдеры могут быть повторно использованы;
clear()сбрасывает все поля до их значений по умолчанию. - С:
- 1.7
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Builder() |
Создаёт пустой билдер. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Locale.Builder |
addUnicodeLocaleAttribute |
Добавляет атрибут локальной уникодовой зоны, если он ещё не присутствует; в противном случае не оказывает действия. |
Locale |
build() |
Возвращает экземпляр Locale, полученный из полей, заданных в этом билдере. |
Locale.Builder |
clear() |
Сбрасывает билдер в его первоначальное, пустое состояние. |
Locale.Builder |
clearExtensions() |
Сбрасывает расширения в их первоначальное, пустое состояние. |
Locale.Builder |
removeUnicodeLocaleAttribute |
Удаляет атрибут локальной уникодовой зоны, если он присутствует; в противном случае не оказывает действия. |
Locale.Builder |
setExtension |
Задает расширение для данного ключа. |
Locale.Builder |
setLanguage |
Задает язык. |
Locale.Builder |
setLanguageTag |
Сбрасывает билдер в соответствии с предоставленным тегом языка IETF BCP 47. |
Locale.Builder |
setLocale |
Сбрасывает Builder в соответствии с предоставленным locale. |
Locale.Builder |
setRegion |
Задает регион. |
Locale.Builder |
setScript |
Задает сценарий. |
Locale.Builder |
setUnicodeLocaleKeyword |
Задает тип ключевого слова Unicode locale для данного ключа. |
Locale.Builder |
setVariant |
Задает вариант. |
Подробное описание конструкторов
Builder
public Builder()
Подробное описание методов
setLocale
public Locale.Builder setLocale(Locale locale)
Builder, чтобы соответствовать предоставленному locale. Существующее состояние отбрасывается. Все поля локали должны быть корректными, см. Locale.
Локали с любыми некорректными полями вызывают IllformedLocaleException, за исключением следующих трёх случаев, которые принимаются для совместимости:
- Locale("ja", "JP", "JP") обрабатывается как "ja-JP-u-ca-japanese"
- Locale("th", "TH", "TH") обрабатывается как "th-TH-u-nu-thai"
- Locale("no", "NO", "NY") обрабатывается как "nn-NO"
- Параметры:
-
locale- локали - Возвращает:
- Этот билдер.
- Исключения:
-
IllformedLocaleException- еслиlocaleсодержит некорректные поля. -
NullPointerException- еслиlocaleравен null.
setLanguageTag
public Locale.Builder setLanguageTag(String languageTag)
clear(). Старые теги (см. Locale.forLanguageTag(String)) преобразуются в каноническую форму перед обработкой. В противном случае, тег языка должен быть корректным (см. Locale) или будет брошено исключение (в отличие от Locale.forLanguageTag, который просто отбрасывает некорректные и последующие части тега).- Параметры:
-
languageTag- тег языка - Возвращает:
- Этот билдер.
- Исключения:
-
IllformedLocaleException- еслиlanguageTagнекорректен - См. также:
setLanguage
public Locale.Builder setLanguage(String language)
language пустая строка или null, язык в этом Builder удаляется. В противном случае язык должен быть корректным или будет брошено исключение. Типичное значение языка — двух- или трёхбуквенный код языка, определённый в ISO639.
- Параметры:
-
language- язык - Возвращает:
- Этот билдер.
- Исключения:
-
IllformedLocaleException- еслиlanguageнекорректен
setScript
public Locale.Builder setScript(String script)
script null или пустая строка, скрипт в этом Builder удаляется. В противном случае скрипт должен быть корректным или будет брошено исключение. Типичное значение скрипта — четырёхбуквенный код скрипта, определённый в ISO 15924.
- Параметры:
-
script- скрипт - Возвращает:
- Этот билдер.
- Исключения:
-
IllformedLocaleException- еслиscriptнекорректен
setRegion
public Locale.Builder setRegion(String region)
Builder удаляется. В противном случае регион должен быть корректным или будет брошено исключение. Типичное значение региона — двухбуквенный код ISO 3166 или трёхзначный код региона UN M.49.
Значение страны в Locale, полученное из Builder, всегда приводится к верхнему регистру.
- Параметры:
-
region- регион - Возвращает:
- Этот билдер.
- Исключения:
-
IllformedLocaleException- еслиregionнекорректен
setVariant
public Locale.Builder setVariant(String variant)
Builder удаляется. В противном случае он должен состоять из одного или нескольких корректных подтегов, иначе будет брошено исключение. Примечание: Этот метод проверяет, соответствует ли variant синтаксическим требованиям подтега варианта IETF BCP 47, и нормализует значение к строчным буквам. Однако класс Locale не накладывает никаких синтаксических ограничений на вариант, и значение варианта в Locale чувствительно к регистру. Чтобы установить такой вариант, используйте Locale.of(String, String, String).
- Параметры:
-
variant- вариант - Возвращает:
- Этот билдер.
- Исключения:
-
IllformedLocaleException- еслиvariantнекорректен - См. также:
setExtension
public Locale.Builder setExtension(char key, String value)
Примечание: Ключ UNICODE_LOCALE_EXTENSION ('u') используется для расширения локали Юникода. Установка значения для этого ключа заменяет любые существующие пары ключей/типов локали Юникода теми, которые определены в расширении.
Примечание: Ключ PRIVATE_USE_EXTENSION ('x') используется для кода частного использования. Чтобы быть корректным, значение для этого ключа должно иметь только подтеги от одного до восьми буквенно-цифровых символов, а не от двух до восьми, как в общем случае.
- Параметры:
-
key- ключ расширения -
value- значение расширения - Возвращает:
- Этот билдер.
- Исключения:
-
IllformedLocaleException- еслиkeyнекорректен илиvalueнекорректно - См. также:
setUnicodeLocaleKeyword
public Locale.Builder setUnicodeLocaleKeyword(String key, String type)
Ключи и типы преобразуются в нижний регистр.
Примечание:Установка расширения 'u' через setExtension(char, String) заменяет все ключевые слова локали Юникода теми, которые определены в расширении.
- Параметры:
-
key- ключевое слово локали Юникода -
type- тип ключевого слова локали Юникода - Возвращает:
- Этот билдер.
- Исключения:
-
IllformedLocaleException- еслиkeyилиtypeнекорректны -
NullPointerException- еслиkeyравен null - См. также:
addUnicodeLocaleAttribute
public Locale.Builder addUnicodeLocaleAttribute(String attribute)
- Параметры:
-
attribute- атрибут - Возвращает:
- Этот билдер.
- Исключения:
-
NullPointerException- еслиattributeравен null -
IllformedLocaleException- еслиattributeнекорректен - См. также:
removeUnicodeLocaleAttribute
public Locale.Builder removeUnicodeLocaleAttribute(String attribute)
Сравнение атрибутов для удаления нечувствительно к регистру.
- Параметры:
-
attribute- атрибут - Возвращает:
- Этот билдер.
- Исключения:
-
NullPointerException- еслиattributeравен null -
IllformedLocaleException- еслиattributeнекорректен - См. также:
clear
public Locale.Builder clear()
- Возвращает:
- Этот билдер.
clearExtensions
public Locale.Builder clearExtensions()
- Возвращает:
- Этот билдер.
- См. также:
build
public Locale build()
Locale, полученный из полей, установленных в этом билдере. При построении объекта Locale применяются преобразования, перечисленные в Locale.forLanguageTag(String). (Устаревшие теги обрабатываются в setLanguageTag(String).)
- Возвращает:
- Объект Locale.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/Locale.Builder.html