Most visited

Recently visited

Added in API level 24

ULocale.Builder

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()所有字段重置为其默认值。

也可以看看:

Summary

Public constructors

ULocale.Builder()

构造一个空的生成器。

Public methods

ULocale.Builder addUnicodeLocaleAttribute(String attribute)

添加一个unicode语言环境属性(如果尚不存在),否则不起作用。

ULocale build()

返回从此构建器上设置的字段创建的实例 ULocale

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)

重置 Builder以匹配提供的 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

From class java.lang.Object

Public constructors

ULocale.Builder

Added in API level 24
ULocale.Builder ()

构造一个空的生成器。 所有字段,扩展名和专用信息的默认值是空字符串。

Public methods

addUnicodeLocaleAttribute

Added in API level 24
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

也可以看看:

build

Added in API level 24
ULocale build ()

返回从此构建器上设置的字段创建的 ULocale的实例。

Returns
ULocale a new Locale

clear

Added in API level 24
ULocale.Builder clear ()

将构建器重置为其初始空状态。

Returns
ULocale.Builder this builder

clearExtensions

Added in API level 24
ULocale.Builder clearExtensions ()

将扩展名重置为其初始空状态。 语言,脚本,区域和变体不变。

Returns
ULocale.Builder this builder

也可以看看:

removeUnicodeLocaleAttribute

Added in API level 24
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

也可以看看:

setExtension

Added in API level 24
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

也可以看看:

setLanguage

Added in API level 24
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

setLanguageTag

Added in API level 24
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

也可以看看:

setLocale

Added in API level 24
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.

setRegion

Added in API level 24
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

setScript

Added in API level 24
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

setUnicodeLocaleKeyword

Added in API level 24
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

也可以看看:

setVariant

Added in API level 24
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

Hooray!