Java Locale 類



介紹

Java Locale 類物件代表特定的地理、政治或文化區域。以下是關於 Locale 的重要要點:

  • 需要 Locale 來執行其任務的操作稱為區域設定敏感型操作,它使用 Locale 為使用者生成資訊。

  • Locale 是一種標識物件的機制,而不是物件本身的容器。

類宣告

以下是java.util.Locale類的宣告:

public final class Locale
   extends Object
   implements Cloneable, Serializable

巢狀類

以下是java.util.Locale類的巢狀類:

  • static class Locale.Builder − Builder 用於根據設定器配置的值構建 Locale 例項。

  • static class Locale.Category − 列舉,用於區域設定類別。

    static class Locale.FilteringMode − 此列舉提供常量以選擇區域設定匹配的篩選模式。

    static class Locale.IsoCountryCode − 列舉,用於指定 ISO 3166 中定義的型別。

    static class Locale.LanguageRange − 此類表示 RFC 4647 語言標籤匹配中定義的語言範圍。

欄位

以下是java.util.Locale類的欄位:

  • 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 char PRIVATE_USE_EXTENSION − 專用擴充套件 ('x') 的鍵。

  • static Locale ROOT − 這是根區域設定的常量。

  • static Locale SIMPLIFIED_CHINESE − 這是語言的常量。

  • static Locale TAIWAN − 這是國家的常量。

  • static Locale TRADITIONAL_CHINESE − 這是語言的常量。

  • static Locale UK − 這是國家的常量。

  • static char UNICODE_LOCALE_EXTENSION − Unicode 區域設定擴充套件 ('u') 的鍵。

  • static Locale US − 這是國家的常量。

類建構函式

序號 建構函式和描述
1

Locale(String language)

這將根據語言程式碼構造一個區域設定。

2

Locale(String language, String country)

這將根據語言程式碼構造一個區域設定。

3

Locale(String language, String country, String variant)

這將根據語言、國家/地區和變體構造一個區域設定。

類方法

序號 方法和描述
1 Object clone()

此方法覆蓋 Cloneable

2 boolean equals(Object obj)

如果此 Locale 等於另一個物件,則此方法返回 true。

3 static List<Locale> filter​(List<Locale.LanguageRange> priorityList, Collection<Locale> locales)

此方法使用 RFC 4647 中定義的篩選機制返回匹配的 Locale 例項列表。

4 static List<String> filterTags​(List<Locale.LanguageRange> priorityList, Collection<String> tags)

此方法使用 RFC 4647 中定義的基本篩選機制返回匹配的語言標籤列表。

5 static Locale forLanguageTag​(String languageTag)

此方法返回指定 IETF BCP 47 語言標籤字串的區域設定。

6 static Locale[] getAvailableLocales()

此方法返回所有已安裝區域設定的陣列。

7 String getCountry()

此方法返回此區域設定的國家/地區程式碼,該程式碼要麼是空字串,要麼是大寫的 ISO 3166 2 個字母程式碼。

8 static Locale getDefault()

此方法獲取此 Java 虛擬機器例項的預設區域設定的當前值。

9 String getDisplayCountry()

此方法返回適合顯示給使用者的區域設定國家/地區的名稱。

10 String getDisplayLanguage()

此方法返回適合顯示給使用者的區域設定語言的名稱。

11 String getDisplayName()

此方法返回適合顯示給使用者的區域設定的名稱。

12 String getDisplayScript()

此方法返回適合顯示給使用者的區域設定指令碼的名稱。

13 String getDisplayVariant()

此方法返回適合顯示給使用者的區域設定變體程式碼的名稱。

14 String getExtension​(char key)

此方法返回與指定鍵關聯的擴充套件(或專用用途)值,如果與該鍵沒有關聯的擴充套件,則返回 null。

15 Set<Character> getExtensionKeys()

返回與此區域設定關聯的擴充套件鍵集,如果沒有擴充套件,則返回空集。

16 String getISO3Country()

此方法返回此區域設定國家/地區的三個字母縮寫。

17 String getISO3Language()

此方法返回此區域設定語言的三個字母縮寫。

18 static String[] getISOCountries()

此方法返回 ISO 3166 中定義的所有 2 個字母國家/地區程式碼的列表。

19 static String[] getISOLanguages()

此方法返回 ISO 639 中定義的所有 2 個字母語言程式碼的列表。

20 String getLanguage()

此方法返回此區域設定的語言程式碼,該程式碼要麼是空字串,要麼是小寫的 ISO 639 程式碼。

21 String getScript()

此方法返回此區域設定的指令碼,該指令碼要麼是空字串,要麼是 ISO 15924 4 個字母指令碼程式碼。

22 Set<String> getUnicodeLocaleAttributes()

此方法返回與此區域設定關聯的 Unicode 區域設定屬性集,如果沒有屬性,則返回空集。

23 Set<String> getUnicodeLocaleKeys()

此方法返回此區域設定定義的 Unicode 區域設定鍵集,如果此區域設定沒有,則返回空集。

24 String getUnicodeLocaleType​(String key)

此方法返回與此區域設定的指定 Unicode 區域設定鍵關聯的 Unicode 區域設定型別。

25 String getVariant()

此方法返回此區域設定的變體程式碼。

26 boolean hasExtensions()

如果此 Locale 具有任何擴充套件,則此方法返回 true。

27 int hashCode()

此方法覆蓋 hashCode。

28 static Locale lookup​(List<Locale.LanguageRange> priorityList, Collection<Locale> locales)

此方法使用 RFC 4647 中定義的查詢機制返回最匹配語言標籤的 Locale 例項。

29 static String lookupTag​(List<Locale.LanguageRange> priorityList, Collection<String> tags)

此方法使用 RFC 4647 中定義的查詢機制返回最匹配的語言標籤。

30 static void setDefault(Locale newLocale)

此方法設定此 Java 虛擬機器例項的預設區域設定。

31 Locale stripExtensions()

此方法返回此 Locale 的副本,不包含任何擴充套件。

32 String toLanguageTag()

此方法返回代表此區域設定的格式良好的 IETF BCP 47 語言標籤。

33 String toString()

此方法是整個區域設定的程式設計名稱的 getter,語言、國家/地區和變體由下劃線分隔。

繼承的方法

此類繼承自以下類的方法:

  • java.util.Object

獲取所有可用區域設定列表示例

以下示例顯示了 Java Locale getAvailableLocales() 方法的用法。我們正在建立一個可用區域設定的陣列,然後列印這些區域設定。

package com.tutorialspoint;

import java.util.Locale;

public class LocaleDemo {
   public static void main(String[] args) {

      // create a new array and get all installed locales
      Locale[] locales = Locale.getAvailableLocales();

      // print locales
      System.out.println("Installed locales are:");
      
      for (int i = 0; i < locales.length; i++) {
         System.out.println(i + ":" + locales[i]);
      }
   }
}

輸出

讓我們編譯並執行上面的程式,這將產生以下結果:

Installed locales are:
0:
1:nn
2:ar_JO
3:bg
4:kea
5:nds
6:zu
7:am_ET
8:fr_DZ
...
741:mas_TZ
742:ti
743:kok
744:ewo
745:ms_BN
746:ccp_IN
747:br_FR
廣告