public static final class Locale.Builder extends Object
Builder
用于配置值的制定者建立的实例
Locale
。不像
Locale
构造函数的
Builder
检查一个值是否通过setter配置满足的
Locale
类定义的语法要求。由
Builder
创造
Locale
对象是形成可以转化为良好的IETF BCP 47语言标签失去信息。
注:的Locale
类不提供任何句法变异,而变异的BCP 47要求每一个子标记有5到8个字母数字或一个数字后面跟着3个字母。方法setVariant
抛出IllformedLocaleException
一变不满足这个约束。如果有必要支持这样的变体,使用区域设置构造函数。但是,请记住,一个Locale
对象创建的这种方式可能会失去时变信息转化为BCP 47语言标记。
下面的示例演示如何创建一个与Builder
Locale
对象。
Locale aLocale = new Builder().setLanguage("sr").setScript("Latn").setRegion("RS").build();
建设者可以重复使用;clear()
重置为其默认值的所有领域。
Locale.forLanguageTag(java.lang.String)
Constructor and Description |
---|
Builder()
构造一个空的生成器。
|
Modifier and Type | Method and Description |
---|---|
Locale.Builder |
addUnicodeLocaleAttribute(String attribute)
添加一个Unicode locale属性,如果不是已经存在,否则没有效果。
|
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
。
任何地方病形成原因等IllformedLocaleException
被抛出,除了以下三例接受兼容性的原因:
locale
-现场
IllformedLocaleException
locale
病形成的领域。
NullPointerException
-如果
locale
是空的。
public Locale.Builder setLanguageTag(String languageTag)
clear()
。祖父的标签(见
Locale.forLanguageTag(java.lang.String)
)转换成标准的形式处理前。否则,语言标签必须形成(见
Locale
)或抛出一个异常(不像
Locale.forLanguageTag
,这只是丢弃病形成和下面的标签部分)。
languageTag
-语言标记
IllformedLocaleException
-如果
languageTag
病形成
Locale.forLanguageTag(String)
public Locale.Builder setLanguage(String language)
language
-语言
IllformedLocaleException
-如果
language
病形成
public Locale.Builder setScript(String script)
script
是null或空字符串,这
Builder
脚本删除。否则,脚本必须
well-formed或抛出一个异常。
典型的脚本值是由国际标准化组织15924定义的一四个字母的脚本代码。
script
-脚本
IllformedLocaleException
-如果
script
病形成
public Locale.Builder setRegion(String region)
Builder
区域被删除。否则,该地区必须
well-formed或抛出一个异常。
典型区域的值是一二字母的ISO 3166代码或一三位UN M.49地区代码。
由Builder
创造Locale
国家价值始终转换为大写。
region
-区域
IllformedLocaleException
-如果
region
病形成
public Locale.Builder setVariant(String variant)
Builder
变异被删除。否则,它必须包含一个或多
well-formed子标签,或抛出一个异常。
注:这个方法检查,如果variant
满足IETF BCP变异47个子标记的语法要求,正常的值为小写字母。然而,这Locale
类不变型强加任何句法限制,并在Locale
变量值是区分大小写的。要设置这样的一个变体,使用区域设置构造函数。
variant
-变异
IllformedLocaleException
-如果
variant
病形成
public Locale.Builder setExtension(char key, String value)
注:关键UNICODE_LOCALE_EXTENSION
(U)是用于Unicode区域延伸。设置此密钥的值替换任何现有的Unicode重点区域/类型与那些在扩展中定义的对。
注:关键PRIVATE_USE_EXTENSION
(x)是用于私人使用的代码。是形成这一关键,只需有一到八个字母数字字符子标签的价值,不是两到八,在一般情况下。
key
扩展-关键
value
的推广价值
IllformedLocaleException
-如果
key
是非法的或
value
病形成
setUnicodeLocaleKeyword(String, String)
public Locale.Builder setUnicodeLocaleKeyword(String key, String type)
键和类型转换为小写。
注:通过setExtension(char, java.lang.String)
替换所有Unicode现场关键词在扩展中定义的设置“U”延伸。
key
- Unicode的重点区域
type
- Unicode区域类型
IllformedLocaleException
-如果
key
或
type
病形成
NullPointerException
-如果
key
是空的
setExtension(char, String)
public Locale.Builder addUnicodeLocaleAttribute(String attribute)
attribute
-属性
NullPointerException
-如果
attribute
是空的
IllformedLocaleException
-如果
attribute
病形成
setExtension(char, String)
public Locale.Builder removeUnicodeLocaleAttribute(String attribute)
移除的属性比较是不区分大小写的。
attribute
-属性
NullPointerException
-如果
attribute
是空的
IllformedLocaleException
-如果
attribute
病形成
setExtension(char, String)
public Locale.Builder clear()
public Locale.Builder clearExtensions()
setExtension(char, String)
public Locale build()
Locale
实例。
这适用于上市Locale.forLanguageTag(java.lang.String)
建设现场的转换。(祖父的标签都是setLanguageTag(java.lang.String)
。)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.