W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
java.lang.Object
|---java.util.Locale.Builder
public static final class Locale.Builder
extends Object
Builder 用于根據(jù) setter 配置的值構(gòu)建 Locale 的實例。 與 Locale 構(gòu)造函數(shù)不同,Builder 檢查由 setter 配置的值是否滿足 Locale 類定義的語法要求。 由 Builder 創(chuàng)建的 Locale 對象格式正確,可以轉(zhuǎn)換為格式正確的 IETF BCP 47 語言標(biāo)簽而不會丟失信息。
注意:Locale 類不對變體提供任何語法限制,而 BCP 47 要求每個變體子標(biāo)簽為 5 到 8 個字母數(shù)字或單個數(shù)字后跟 3 個字母數(shù)字。 對于不滿足此限制的變體,方法 setVariant 會引發(fā) IllformedLocaleException。 如果需要支持這種變體,請使用 Locale 構(gòu)造函數(shù)。 但是,請記住,以這種方式創(chuàng)建的 Locale 對象在轉(zhuǎn)換為 BCP 47 語言標(biāo)簽時可能會丟失變體信息。
以下示例顯示如何使用 Builder 創(chuàng)建 Locale 對象。
Locale aLocale = new Builder().setLanguage("sr").setScript("Latn").setRegion("RS").build();
構(gòu)建器可以重復(fù)使用; clear() 將所有字段重置為其默認(rèn)值。
構(gòu)造函數(shù) | 描述 |
---|---|
Builder() | 構(gòu)造一個空的 Builder。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
Locale.Builder | addUnicodeLocaleAttribute(String attribute) | 添加 unicode 語言環(huán)境屬性,如果不存在,否則無效。 |
Locale | build() | 返回從此構(gòu)建器上設(shè)置的字段創(chuàng)建的 Locale 實例。 |
Locale.Builder | clear() | 將構(gòu)建器重置為其初始的空狀態(tài)。 |
Locale.Builder | clearExtensions() | 將擴(kuò)展重置為其初始的空狀態(tài)。 |
Locale.Builder | removeUnicodeLocaleAttribute(String attribute) | 刪除 unicode 語言環(huán)境屬性(如果存在),否則無效。 |
Locale.Builder | setExtension(char key, String value) | 設(shè)置給定鍵的擴(kuò)展名。 |
Locale.Builder | setLanguage(String language) | 設(shè)置語言。 |
Locale.Builder | setLanguageTag(String languageTag) | 重置 Builder 以匹配提供的 IETF BCP 47 語言標(biāo)簽。 |
Locale.Builder | setLocale(Locale locale) | 重置 Builder 以匹配提供的語言環(huán)境。 |
Locale.Builder | setRegion(String region) | 設(shè)置區(qū)域。 |
Locale.Builder | setScript(String script) | 設(shè)置腳本。 |
Locale.Builder | setUnicodeLocaleKeyword(String key, String type) | 設(shè)置給定鍵的 Unicode 語言環(huán)境關(guān)鍵字類型。 |
Locale.Builder | setVariant(String variant) | 設(shè)置變體。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public Builder()
構(gòu)造一個空的 Builder。 所有字段、擴(kuò)展和私人使用信息的默認(rèn)值為空字符串。
public Locale.Builder setLocale(Locale locale)
重置 Builder 以匹配提供的語言環(huán)境。 現(xiàn)有狀態(tài)被丟棄。
語言環(huán)境的所有字段必須格式正確。
具有任何格式錯誤的字段的語言環(huán)境會導(dǎo)致拋出 IllformedLocaleException,但出于兼容性原因接受以下三種情況除外:
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
locale | 語言環(huán)境 |
返回:
這個建設(shè)者。
Throws:
Throw名稱 | Throw描述 |
---|---|
IllformedLocaleException | 如果 locale 有任何格式錯誤的字段。 |
NullPointerException | 如果 locale 為空 |
public Locale.Builder setLanguageTag(String languageTag)
重置 Builder 以匹配提供的 IETF BCP 47 語言標(biāo)簽。 丟棄現(xiàn)有狀態(tài)。 Null 和空字符串會導(dǎo)致構(gòu)建器被重置,如 clear()。 祖代標(biāo)簽(請參閱 Locale#forLanguageTag)在處理之前轉(zhuǎn)換為它們的規(guī)范形式。 否則,語言標(biāo)記必須是格式正確的,否則會引發(fā)異常(與 Locale.forLanguageTag 不同,它只會丟棄格式錯誤的標(biāo)記和后續(xù)部分)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
languageTag | 語言標(biāo)簽 |
返回:
這個建設(shè)者。
Throws:
Throw名稱 | Throw描述 |
---|---|
IllformedLocaleException | 如果 languageTag 格式不正確 |
public Locale.Builder setLanguage(String language)
設(shè)置語言。 如果 language 為空字符串或 null,則刪除此 Builder 中的語言。 否則,語言必須格式正確,否則會引發(fā)異常。
典型的語言值是 ISO639 中定義的兩個或三個字母的語言代碼。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
language | 語言 |
返回:
這個建設(shè)者。
Throws:
Throw名稱 | Throw描述 |
---|---|
IllformedLocaleException | 如果 language 格式不正確 |
public Locale.Builder setScript(String script)
設(shè)置腳本。 如果 script 為 null 或空字符串,則刪除此 Builder 中的腳本。 否則,腳本必須格式正確,否則會引發(fā)異常。
典型的腳本值是 ISO 15924 定義的四字母腳本代碼。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
script | 腳本 |
返回:
這個建設(shè)者。
Throws:
Throw名稱 | Throw描述 |
---|---|
IllformedLocaleException | 如果 script 格式不正確 |
public Locale.Builder setRegion(String region)
設(shè)置區(qū)域。 如果 region 為 null 或空字符串,則刪除此 Builder 中的區(qū)域。 否則,該區(qū)域必須是格式良好的,否則將引發(fā)異常。
典型的區(qū)域值是兩個字母的 ISO 3166 代碼或三位數(shù)的 UN M.49 區(qū)域代碼。
由 Builder 創(chuàng)建的 Locale 中的 country 值始終標(biāo)準(zhǔn)化為大寫。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
region | 該區(qū)域 |
返回:
這個建設(shè)者。
Throws:
Throw名稱 | Throw描述 |
---|---|
IllformedLocaleException | 如果 region 格式不正確 |
public Locale.Builder setVariant(String variant)
設(shè)置變體。 如果 variant 為 null 或空字符串,則刪除此 Builder 中的變體。 否則,它必須由一個或多個格式正確的子標(biāo)簽組成,否則將引發(fā)異常。
注意:此方法檢查變體是否滿足 IETF BCP 47 變體子標(biāo)簽的語法要求,并將值規(guī)范化為小寫字母。 但是,Locale 類對變體沒有任何語法限制,并且 Locale 中的變體值區(qū)分大小寫。 要設(shè)置這樣的變體,請使用 Locale 構(gòu)造函數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
variant | 變體 |
返回:
這個建設(shè)者。
Throws:
Throw名稱 | Throw描述 |
---|---|
IllformedLocaleException | 如果 variant 格式不正確 |
public Locale.Builder setExtension(char key, String value)
設(shè)置給定鍵的擴(kuò)展名。 如果值為 null 或空字符串,則刪除擴(kuò)展名。 否則,擴(kuò)展必須是格式正確的,否則會引發(fā)異常。
注意:鍵 Locale#UNICODE_LOCALE_EXTENSION ('u') 用于 Unicode 語言環(huán)境擴(kuò)展。 設(shè)置此鍵的值會將任何現(xiàn)有的 Unicode 語言環(huán)境鍵/類型對替換為擴(kuò)展中定義的那些。
注意:鍵 Locale#PRIVATE_USE_EXTENSION ('x') 用于私人使用代碼。 為了形成良好的格式,此鍵的值只需具有 1 到 8 個字母數(shù)字字符的子標(biāo)簽,而不是一般情況下的 2 到 8 個。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 擴(kuò)展密鑰 |
value | 擴(kuò)展值 |
返回:
這個建設(shè)者。
Throws:
Throw名稱 | Throw描述 |
---|---|
IllformedLocaleException | 如果 key 或 value 格式不正確 |
public Locale.Builder setUnicodeLocaleKeyword(String key, String type)
設(shè)置給定鍵的 Unicode 語言環(huán)境關(guān)鍵字類型。 如果類型為 null,則刪除 Unicode 關(guān)鍵字。 否則,鍵必須為非空,并且鍵和類型都必須格式正確,否則將引發(fā)異常。
鍵和類型轉(zhuǎn)換為小寫。
注意:通過 setExtension(char, java.lang.String) 設(shè)置 'u' 擴(kuò)展名會將所有 Unicode 語言環(huán)境關(guān)鍵字替換為擴(kuò)展名中定義的關(guān)鍵字。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | Unicode 語言環(huán)境鍵 |
type | Unicode 語言環(huán)境類型 |
返回:
這個建設(shè)者。
Throws:
Throw名稱 | Throw描述 |
---|---|
IllformedLocaleException | 如果 key 或 type 格式不正確 |
NullPointerException | 如果 key 為空 |
public Locale.Builder addUnicodeLocaleAttribute(String attribute)
添加 unicode 語言環(huán)境屬性,如果不存在,否則無效。 該屬性不能為空,并且必須格式正確,否則將引發(fā)異常。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
attribute | 屬性 |
返回:
這個建設(shè)者。
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果 attribute 為空 |
IllformedLocaleException | 如果 attribute 格式不正確 |
public Locale.Builder removeUnicodeLocaleAttribute(String attribute)
刪除 unicode 語言環(huán)境屬性(如果存在),否則無效。 該屬性不能為空,并且必須格式正確,否則將引發(fā)異常。
刪除的屬性比較不區(qū)分大小寫。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
attribute | 屬性 |
返回:
這個建設(shè)者。
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果 attribute 為空 |
IllformedLocaleException | 如果 attribute 格式不正確 |
public Locale.Builder clear()
將構(gòu)建器重置為其初始的空狀態(tài)。
返回:
這個建設(shè)者。
public Locale.Builder clearExtensions()
將擴(kuò)展重置為其初始的空狀態(tài)。 語言、文字、地區(qū)和變體不變。
返回:
這個建設(shè)者。
public Locale build()
返回從此構(gòu)建器上設(shè)置的字段創(chuàng)建的 Locale 實例。
這將在構(gòu)造語言環(huán)境時應(yīng)用 Locale#forLanguageTag 中列出的轉(zhuǎn)換。 (祖父標(biāo)簽在 setLanguageTag(java.lang.String) 中處理。)
返回:
語言環(huán)境。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: