Класс 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 требует, чтобы каждый подtag варианта состоял из 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 |
Добавляет атрибут локали Unicode, если он ещё не присутствует; в противном случае ничего не делает. |
Locale |
build() |
Возвращает экземпляр Locale, созданный на основе полей, заданных в этом построителе. |
Locale.Builder |
clear() |
Возвращает построитель в исходное пустое состояние. |
Locale.Builder |
clearExtensions() |
Возвращает расширения в исходное пустое состояние. |
Locale.Builder |
removeUnicodeLocaleAttribute |
Удаляет атрибут локали Unicode, если он присутствует; в противном случае ничего не делает. |
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.Builder |
setVariant |
Задаёт вариант. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело и будет удалено: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения указанного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения указанного промежутка реального времени. |
Подробное описание конструкторов
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, который просто отбрасывает некорректную часть тега и следующие за ней части). Повторяющиеся варианты принимаются и включаются построителем. Однако повторяющиеся одиночные ключи расширений и связанные с ними типы принимаются, но игнорируются. Такое же поведение применяется к повторяющимся ключам локали и атрибутам в расширении U. Обратите внимание, что последующие подtags после повторяющегося элемента не игнорируются.
Полный список преобразований, выполняемых для languageTag, см. в разделе converions.
- Параметры:
-
languageTag— языковой тег - Возвращает:
- Этот построитель.
- Выбрасывает:
-
IllformedLocaleException— еслиlanguageTagимеет некорректный формат - См. также:
setLanguage
public Locale.Builder setLanguage(String language)
language — пустая строка или null, язык в этом Builder удаляется. В противном случае язык должен иметь корректный формат, иначе выбрасывается исключение. Обычно в качестве значения языка используется двух- или трёхбуквенный код языка, определённый стандартом ISO 639.
- Параметры:
-
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 или трёхзначный код территории ООН M.49.
Значение страны в Locale, полученном из Builder, всегда приводится к верхнему регистру.
- Параметры:
-
region— регион - Возвращает:
- Этот построитель.
- Выбрасывает:
-
IllformedLocaleException— еслиregionимеет некорректный формат
setVariant
public Locale.Builder setVariant(String variant)
Builder удаляется. В противном случае он должен состоять из одного или нескольких корректно сформированных подtag, иначе выбрасывается исключение. Повторяющиеся варианты принимаются и включаются построителем. Примечание: Этот метод проверяет, соответствует ли variant синтаксическим требованиям IETF BCP 47 к подtag варианта, и приводит значение к нижнему регистру. Однако класс Locale не накладывает синтаксических ограничений на вариант, а значение варианта в Locale чувствительно к регистру. Чтобы задать такой вариант, используйте Locale.of(String, String, String).
- Параметры:
-
variant— вариант - Возвращает:
- Этот построитель.
- Выбрасывает:
-
IllformedLocaleException— еслиvariantимеет некорректный формат - См. также:
setExtension
public Locale.Builder setExtension(char key, String value)
Примечание: Ключ UNICODE_LOCALE_EXTENSION ('u') используется для расширения локали Unicode. Задание значения для этого ключа заменяет все существующие пары ключ/тип локали Unicode парами, определёнными в расширении. Повторяющиеся атрибуты локали, а также ключи локали и связанные с ними типы принимаются, но игнорируются.
Примечание: Ключ PRIVATE_USE_EXTENSION ('x') используется для кода личного использования. Чтобы значение для этого ключа имело корректный формат, его подtags должны состоять из одного–восьми буквенно-цифровых символов, а не из двух–восьми, как в общем случае.
- Параметры:
-
key— ключ расширения -
value— значение расширения - Возвращает:
- Этот построитель.
- Выбрасывает:
-
IllformedLocaleException— еслиkeyнедопустим илиvalueимеет некорректный формат - См. также:
setUnicodeLocaleKeyword
public Locale.Builder setUnicodeLocaleKeyword(String key, String type)
Ключи и типы преобразуются в нижний регистр.
Примечание: Задание расширения 'u' с помощью setExtension(char, String) заменяет все ключевые слова локали Unicode ключевыми словами, определёнными в расширении.
- Параметры:
-
key— ключ локали Unicode -
type— тип локали Unicode - Возвращает:
- Этот построитель.
- Выбрасывает:
-
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.