public static final class ULocale.Builder
extends Object
| java.lang.Object | |
| android.icu.util.ULocale.Builder | |
Builder用于根据setters配置的值构建ULocale实例。 与ULocale构造函数不同, Builder检查由setter配置的值是否满足ULocale类定义的语法要求。 由ULocale创建的ULocale对象Builder良好,可以转换为格式良好的IETF BCP 47语言标签,而不会丢失信息。
注意: ULocale类不对变体提供任何语法限制,而BCP 47要求每个变体子标签为5至8个字母数字或单个数字,后跟3个字母数字。 方法setVariant针对不满足此限制的变体抛出IllformedLocaleException 。 如果有必要支持这种变体,请使用ULocale构造函数。 但是,请记住,一个ULocale对象创建这样,当转换为BCP 47语言标签可能会失去变种的信息。
下面的例子说明如何创建一个 Locale与对象 Builder 。
ULocale aLocale = new Builder().setLanguage("sr").setScript("Latn").setRegion("RS").build();
建筑商可以重复使用; clear()所有字段重置为其默认值。
也可以看看:
Public constructors |
|
|---|---|
ULocale.Builder() 构造一个空的生成器。 |
|
公共方法(Public methods) |
|
|---|---|
ULocale.Builder |
addUnicodeLocaleAttribute(String attribute) 添加一个unicode语言环境属性(如果尚不存在),否则不起作用。 |
ULocale |
build() 返回从此构建器上设置的字段创建的实例 |
ULocale.Builder |
clear() 将构建器重置为其初始空状态。 |
ULocale.Builder |
clearExtensions() 将扩展名重置为其初始空状态。 |
ULocale.Builder |
removeUnicodeLocaleAttribute(String attribute) 删除unicode语言环境属性(如果存在),否则不起作用。 |
ULocale.Builder |
setExtension(char key, String value) 设置给定键的扩展名。 |
ULocale.Builder |
setLanguage(String language) 设置语言。 |
ULocale.Builder |
setLanguageTag(String languageTag) 重置Builder以匹配提供的IETF BCP 47语言标签。 |
ULocale.Builder |
setLocale(ULocale locale) 重置 |
ULocale.Builder |
setRegion(String region) 设置区域。 |
ULocale.Builder |
setScript(String script) 设置脚本。 |
ULocale.Builder |
setUnicodeLocaleKeyword(String key, String type) 为给定键设置Unicode区域设置关键字类型。 |
ULocale.Builder |
setVariant(String variant) 设置变体。 |
继承方法(Inherited methods) |
|
|---|---|
java.lang.Object
|
|
ULocale.Builder addUnicodeLocaleAttribute (String attribute)
添加一个unicode语言环境属性(如果尚不存在),否则不起作用。 该属性不能为空,且必须格式良好或引发异常。
| 参数(Parameters) | |
|---|---|
attribute |
String: the attribute |
| 返回(Returns) | |
|---|---|
ULocale.Builder |
This builder. |
| 抛出异常(Throws) | |
|---|---|
NullPointerException |
if attribute is null |
IllformedLocaleException |
if attribute is ill-formed |
也可以看看:
ULocale build ()
返回从此构建器上设置的字段创建的 ULocale的实例。
| 返回(Returns) | |
|---|---|
ULocale |
a new Locale |
ULocale.Builder clear ()
将构建器重置为其初始空状态。
| 返回(Returns) | |
|---|---|
ULocale.Builder |
this builder |
ULocale.Builder clearExtensions ()
将扩展名重置为其初始空状态。 语言,脚本,区域和变体不变。
| 返回(Returns) | |
|---|---|
ULocale.Builder |
this builder |
也可以看看:
ULocale.Builder removeUnicodeLocaleAttribute (String attribute)
删除unicode语言环境属性(如果存在),否则不起作用。 该属性不能为空,且必须格式良好或引发异常。
删除的属性比较是不区分大小写的。
| 参数(Parameters) | |
|---|---|
attribute |
String: the attribute |
| 返回(Returns) | |
|---|---|
ULocale.Builder |
This builder. |
| 抛出异常(Throws) | |
|---|---|
NullPointerException |
if attribute is null |
IllformedLocaleException |
if attribute is ill-formed |
也可以看看:
ULocale.Builder setExtension (char key, String value)
设置给定键的扩展名。 如果该值为空或空字符串,则扩展名将被删除。 否则,扩展必须格式良好或引发异常。
注意:密钥UNICODE_LOCALE_EXTENSION ('u')用于Unicode区域设置扩展。 为此键设置值将替换扩展中定义的任何现有Unicode区域设置键/类型对。
注意:密钥PRIVATE_USE_EXTENSION ('x')用于私人使用代码。 为了形成良好,这个键的值只需要有一到八个字母数字字符的子标签,而不是一般情况下的二到八个。
| 参数(Parameters) | |
|---|---|
key |
char: the extension key |
value |
String: the extension value |
| 返回(Returns) | |
|---|---|
ULocale.Builder |
This builder. |
| 抛出异常(Throws) | |
|---|---|
IllformedLocaleException |
if key is illegal or value is ill-formed |
ULocale.Builder setLanguage (String language)
设置语言。 如果language是空字符串或null,则删除此Builder的语言。 否则,语言必须是well-formed或抛出异常。
典型的语言值是ISO639中定义的两个或三个字母的语言代码。
| 参数(Parameters) | |
|---|---|
language |
String: the language |
| 返回(Returns) | |
|---|---|
ULocale.Builder |
This builder. |
| 抛出异常(Throws) | |
|---|---|
IllformedLocaleException |
if language is ill-formed |
ULocale.Builder setLanguageTag (String languageTag)
重置Builder以匹配提供的IETF BCP 47语言标签。 丢弃现有的状态。 空和空字符串导致构建器被重置,如clear() 。 在处理之前,Grandfathered标签(请参阅forLanguageTag(String) )会转换为规范形式。 否则,语言标签必须格式良好(请参阅ULocale )或引发异常(与ULocale.forLanguageTag不同,它只是丢弃标签中的不ULocale.forLanguageTag和后续部分)。
| 参数(Parameters) | |
|---|---|
languageTag |
String: the language tag |
| 返回(Returns) | |
|---|---|
ULocale.Builder |
This builder. |
| 抛出异常(Throws) | |
|---|---|
IllformedLocaleException |
if languageTag is ill-formed |
也可以看看:
ULocale.Builder setLocale (ULocale locale)
重置Builder以匹配提供的locale 。 现有状态被丢弃。
区域设置的所有字段必须格式良好,请参阅 Locale 。
带有任何不合格字段的区域会导致引发 IllformedLocaleException 。
| 参数(Parameters) | |
|---|---|
locale |
ULocale: the locale |
| 返回(Returns) | |
|---|---|
ULocale.Builder |
This builder. |
| 抛出异常(Throws) | |
|---|---|
IllformedLocaleException |
if locale has any ill-formed fields. |
NullPointerException |
if locale is null. |
ULocale.Builder setRegion (String region)
设置区域。 如果区域为空或空字符串,则删除此Builder的区域。 否则,该地区必须格式良好或引发异常。
典型的区域值是两个字母的ISO 3166代码或三位UN M.49区域代码。
Locale创建的 Builder的国家/地区值总是标准化为大写。
| 参数(Parameters) | |
|---|---|
region |
String: the region |
| 返回(Returns) | |
|---|---|
ULocale.Builder |
This builder. |
| 抛出异常(Throws) | |
|---|---|
IllformedLocaleException |
if region is ill-formed |
ULocale.Builder setScript (String script)
设置脚本。 如果script为空或空字符串,则删除此Builder的脚本。 否则,脚本必须格式良好或引发异常。
典型的脚本值是由ISO 15924定义的四字母脚本代码。
| 参数(Parameters) | |
|---|---|
script |
String: the script |
| 返回(Returns) | |
|---|---|
ULocale.Builder |
This builder. |
| 抛出异常(Throws) | |
|---|---|
IllformedLocaleException |
if script is ill-formed |
ULocale.Builder setUnicodeLocaleKeyword (String key, String type)
为给定键设置Unicode区域设置关键字类型。 如果该类型为空,则会删除Unicode关键字。 否则,密钥必须是非空的,并且密钥和类型必须格式良好或引发异常。
键和类型转换为小写。
注意 :通过 setExtension(char, String)设置'u'扩展 setExtension(char, String)替换扩展名中定义的所有Unicode区域设置关键字。
| 参数(Parameters) | |
|---|---|
key |
String: the Unicode locale key |
type |
String: the Unicode locale type |
| 返回(Returns) | |
|---|---|
ULocale.Builder |
This builder. |
| 抛出异常(Throws) | |
|---|---|
IllformedLocaleException |
if key or type is ill-formed |
NullPointerException |
if key is null |
也可以看看:
ULocale.Builder setVariant (String variant)
设置变体。 如果variant为空或空字符串,则删除此Builder的变体。 否则,它必须包含一个或多个格式正确的子标签,否则会引发异常。
注:此方法检查variant满足IETF BCP 47变体子标签的语法要求,并将该值标准化为小写字母。 但是, ULocale类不会对变体施加任何语法限制。 要设置这种变体,请使用ULocale构造函数。
| 参数(Parameters) | |
|---|---|
variant |
String: the variant |
| 返回(Returns) | |
|---|---|
ULocale.Builder |
This builder. |
| 抛出异常(Throws) | |
|---|---|
IllformedLocaleException |
if variant is ill-formed |