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
广告