|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.util.Locale
public final class Locale
Locale
物件表示了特定的地理、政治和文化地區。需要 Locale
來執行其任務的操作稱為語言環境敏感的 操作,它使用 Locale
為使用者量身定制資訊。例如,顯示一個數值就是語言環境敏感的操作,應該根據使用者的國家、地區或文化的風俗/傳統來格式化該數值。
使用此類別中的建構子來創建 Locale
:
語言參數是一個有效的 ISO 語言程式碼。這些程式碼是由 ISO-639 定義的小寫兩字母程式碼。在許多網站上都可以找到這些程式碼的完整列表,如:Locale(String language) Locale(String language, String country) Locale(String language, String country, String variant)
http://www.loc.gov/standards/iso639-2/englangn.html。
國家/地區參數是一個有效的 ISO 國家/地區程式碼。這些程式碼是由 ISO-3166 定義的大寫兩字母程式碼。在許多網站上都可以找到這些程式碼的完整列表,如:http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html。
變數參數是特定於供應商或瀏覽器的程式碼。例如,用 WIN 代表 Windows、MAC 代表 Macintosh 和 POSIX 代表 POSIX。有兩個變數時,把它們用下劃線區分開來,把最重要的放在前面。例如,一個傳統的西班牙排序規則可能用下列語言、國家/地區和變數參數來建構一個語言環境:"es"、"ES"、"Traditional_WIN"。
因為一個 Locale
物件就是一個地區的標識符,所以建構一個 Locale
時不執行有效性檢查。如果想瞭解特定的資源在您建構的 Locale
中是否可用,則必須查詢那些資源。例如,使用 getAvailableLocales
方法詢問 NumberFormat
所支持的語言環境。
註:查詢一個特定語言環境的資源時,得到的是最佳的可用比對,沒必要精確地按要求提供資源。有關更多資訊,請參見 ResourceBundle
。
Locale
類別提供了一些方便的常數,可用這些常數為常用的語言環境創建 Locale
物件。例如,下面的內容為美國創建了一個 Locale
物件:
Locale.US
創建完 Locale
後,就可以查詢有關其自身的資訊。使用 getCountry
可獲取 ISO 國家/地區程式碼,使用 getLanguage
則獲取 ISO 語言程式碼。可用使用 getDisplayCountry
來獲取適合向使用者顯示的國家/地區名。同樣,可用使用 getDisplayLanguage
來獲取適合向使用者顯示的語言名。有趣的是,getDisplayXXX
方法本身是語言環境敏感的,它有兩個版本:一個使用預設的語言環境作為參數,另一個則使用指定的語言環境作為參數。
Java 平臺提供了多個可執行語言環境敏感操作的類別:例如,NumberFormat
類別以語言環境敏感的方式格式化數值、貨幣或百分比。像 NumberFormat
這樣的類別則有多種創建該型別預設物件的便捷方法。例如,NumberFormat
類別提供了三個便捷的方法,用於創建預設的 NumberFormat
物件:
這些方法有兩個變數;一個有明確的語言環境而另一個則沒有;後者使用預設語言環境。NumberFormat.getInstance() NumberFormat.getCurrencyInstance() NumberFormat.getPercentInstance()
NumberFormat.getInstance(myLocale) NumberFormat.getCurrencyInstance(myLocale) NumberFormat.getPercentInstance(myLocale)
Locale
是一種標識所要獲取的物件種類別 (NumberFormat
) 的機制。但 locale 只是一種標識物件的機制,不是物件本身的容器。
ResourceBundle
,
Format
,
NumberFormat
,
Collator
,
序列化表格欄位摘要 | |
---|---|
static Locale |
CANADA
用於表示國家/地區的有用常數。 |
static Locale |
CANADA_FRENCH
用於表示國家/地區的有用常數。 |
static Locale |
CHINA
用於表示國家/地區的有用常數。 |
static Locale |
CHINESE
用於表示語言的有用常數。 |
static Locale |
ENGLISH
用於表示語言的有用常數。 |
static Locale |
FRANCE
用於表示國家/地區的有用常數。 |
static Locale |
FRENCH
用於表示語言的有用常數。 |
static Locale |
GERMAN
用於表示語言的有用常數。 |
static Locale |
GERMANY
用於表示國家/地區的有用常數。 |
static Locale |
ITALIAN
用於表示語言的有用常數。 |
static Locale |
ITALY
用於表示國家/地區的有用常數。 |
static Locale |
JAPAN
用於表示國家/地區的有用常數。 |
static Locale |
JAPANESE
用於表示語言的有用常數。 |
static Locale |
KOREA
用於表示國家/地區的有用常數。 |
static Locale |
KOREAN
用於表示語言的有用常數。 |
static Locale |
PRC
用於表示國家/地區的有用常數。 |
static Locale |
ROOT
用於表示根語言環境的有用常數。 |
static Locale |
SIMPLIFIED_CHINESE
用於表示語言的有用常數。 |
static Locale |
TAIWAN
用於表示國家/地區的有用常數。 |
static Locale |
TRADITIONAL_CHINESE
用於表示語言的有用常數。 |
static Locale |
UK
用於表示國家/地區的有用常數。 |
static Locale |
US
用於表示國家/地區的有用常數。 |
建構子摘要 | |
---|---|
Locale(String language)
根據語言程式碼建構一個語言環境。 |
|
Locale(String language,
String country)
根據語言和國家/地區建構一個語言環境。 |
|
Locale(String language,
String country,
String variant)
根據語言、國家/地區和變數建構一個語言環境。 |
方法摘要 | |
---|---|
Object |
clone()
覆寫 Cloneable。 |
boolean |
equals(Object obj)
如果該 Locale 等於另一個物件,則返回 true。 |
static Locale[] |
getAvailableLocales()
返回所有已安裝語言環境的陣列。 |
String |
getCountry()
返回此語言環境的國家/地區程式碼,將為空字元串或大寫的 ISO 3166 兩字母程式碼。 |
static Locale |
getDefault()
獲得此 Java 虛擬機器實例的當前預設語言環境值。 |
String |
getDisplayCountry()
返回適合向使用者顯示的語言環境國家/地區名。 |
String |
getDisplayCountry(Locale inLocale)
返回適合向使用者顯示的語言環境國家/地區名。 |
String |
getDisplayLanguage()
返回適合向使用者顯示的語言環境語言名。 |
String |
getDisplayLanguage(Locale inLocale)
返回適合向使用者顯示的語言環境語言名。 |
String |
getDisplayName()
返回適合向使用者顯示的語言環境名。 |
String |
getDisplayName(Locale inLocale)
返回適合向使用者顯示的語言環境名。 |
String |
getDisplayVariant()
返回適合向使用者顯示的語言環境變數程式碼名。 |
String |
getDisplayVariant(Locale inLocale)
返回適合向使用者顯示的語言環境變數程式碼名。 |
String |
getISO3Country()
返回此語言環境國家/地區的三字母縮寫。 |
String |
getISO3Language()
返回此語言環境語言的三字母縮寫。 |
static String[] |
getISOCountries()
返回 ISO 3166 中所定義的所有兩字母國家/地區程式碼。 |
static String[] |
getISOLanguages()
返回 ISO 639 中所定義的所有兩字母語言程式碼。 |
String |
getLanguage()
返回此語言環境的語言程式碼,可以是空字元串或小寫的 ISO 639 程式碼。 |
String |
getVariant()
返回此語言環境的變數程式碼。 |
int |
hashCode()
覆寫 hashCode。 |
static void |
setDefault(Locale newLocale)
為此 Java 虛擬機器實例設置預設語言環境。 |
String |
toString()
使用由下劃線分隔的語言、國家/地區和變數來獲取整個語言環境的程式名稱。 |
從類別 java.lang.Object 繼承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
欄位詳細資訊 |
---|
public static final Locale ENGLISH
public static final Locale FRENCH
public static final Locale GERMAN
public static final Locale ITALIAN
public static final Locale JAPANESE
public static final Locale KOREAN
public static final Locale CHINESE
public static final Locale SIMPLIFIED_CHINESE
public static final Locale TRADITIONAL_CHINESE
public static final Locale FRANCE
public static final Locale GERMANY
public static final Locale ITALY
public static final Locale JAPAN
public static final Locale KOREA
public static final Locale CHINA
public static final Locale PRC
public static final Locale TAIWAN
public static final Locale UK
public static final Locale US
public static final Locale CANADA
public static final Locale CANADA_FRENCH
public static final Locale ROOT
建構子詳細資訊 |
---|
public Locale(String language, String country, String variant)
language
- 小寫的兩字母 ISO-639 程式碼。country
- 大寫的兩字母 ISO-3166 程式碼。variant
- 特定於供應商和瀏覽器的程式碼。參見類別描述。
NullPointerException
- 如果任意參數為 null。public Locale(String language, String country)
language
- 小寫的兩字母 ISO-639 程式碼。country
- 大寫的兩字母 ISO-3166 程式碼。
NullPointerException
- 如果任意參數為 null。public Locale(String language)
language
- 小寫的兩字母 ISO-639 程式碼。
NullPointerException
- 如果參數為 null。方法詳細資訊 |
---|
public static Locale getDefault()
Java 虛擬機器根據主機的環境在啟動期間設置預設語言環境。如果沒有明確地指定語言環境,則很多語言環境敏感的方法都使用該方法。可使用 setDefault
方法更改該值。
public static void setDefault(Locale newLocale)
如果有安全管理器,則在更改預設語言環境前使用 PropertyPermission("user.language", "write")
權限調用其 checkPermission
方法。
Java 虛擬機器根據主機的環境在啟動期間設置預設語言環境。如果沒有明確地指定語言環境,則很多語言環境敏感的方法都使用該方法。
由於更改預設的語言環境可能影響功能的很多方面,所以應該僅在調用者準備重新初始化在同一 Java 虛擬機器內所運行的語言環境敏感程式碼時才使用此方法。
newLocale
- 新的預設語言環境。
SecurityException
- 如果安全管理器存在並且其 checkPermission
方法不允許該操作。
NullPointerException
- 如果 newLocale
為 null。SecurityManager.checkPermission(java.security.Permission)
,
PropertyPermission
public static Locale[] getAvailableLocales()
LocaleServiceProvider
所支持的語言環境的聯合。它必須至少包含一個等於 Locale.US
的 Locale
實例。
public static String[] getISOCountries()
public static String[] getISOLanguages()
public String getLanguage()
註:ISO 639 並非是一個不變的標準,某些語言程式碼已經改變。Locale 的建構子可識別程式碼已改變的語言的新程式碼和舊程式碼,但是此功能總是返回舊程式碼。如果想檢查程式碼已改變的特定語言,不要執行
if (locale.getLanguage().equals("he")) ...Instead, do
if (locale.getLanguage().equals(new Locale("he", "", "").getLanguage())) ...
getDisplayLanguage()
public String getCountry()
getDisplayCountry()
public String getVariant()
getDisplayVariant()
public final String toString()
Object
中的 toString
getDisplayName()
public String getISO3Language() throws MissingResourceException
http://www.loc.gov/standards/iso639-2/englangn.html
. 找到 ISO 639-2 語言程式碼。
MissingResourceException
- 如果三字母語言縮寫不可用於此語言環境,則拋出 MissingResourceException。public String getISO3Country() throws MissingResourceException
http://www.davros.org/misc/iso3166.txt
. 找到 ISO 3166-2 國家/地區程式碼。
MissingResourceException
- 如果三字母國家/地區縮寫不可用於此語言環境,則拋出 MissingResourceException。public final String getDisplayLanguage()
public String getDisplayLanguage(Locale inLocale)
NullPointerException
- 如果 inLocale
為 null
public final String getDisplayCountry()
public String getDisplayCountry(Locale inLocale)
NullPointerException
- 如果 inLocale
為 null
public final String getDisplayVariant()
public String getDisplayVariant(Locale inLocale)
NullPointerException
- 如果 inLocale
為 null
public final String getDisplayName()
語言(國家/地區,變數)這取決於語言環境中指定了哪些欄位。如果語言、國家/地區和變數欄位都為空,則該功能將返回空字元串。語言(國家/地區)
語言(變數)
國家/地區(變數)
語言
國家/地區
變數
public String getDisplayName(Locale inLocale)
語言(國家/地區,變數)這取決於語言環境中指定了哪些欄位。如果語言、國家/地區和變數欄位都為空,則該功能將返回空字元串。語言(國家/地區)
語言(變數)
國家/地區(變數)
語言
國家/地區
變數
NullPointerException
- 如果 inLocale
為 null
public Object clone()
Object
中的 clone
Cloneable
public int hashCode()
Object
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Object
中的 equals
obj
- 要與之比較的參考物件。
Object.hashCode()
,
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。