CodeGym /Java 博客 /随机的 /Java 语言环境类
John Squirrels
第 41 级
San Francisco

Java 语言环境类

已在 随机的 群组中发布
如果全世界都有同样的电源插座,写数字和日期的原则,那就容易多了。然而,目前情况并非如此,程序员必须考虑到这一点。特别是,java.util.Locale类允许您考虑字母、符号、数字和日期的区域表示的特殊性。在本文中,我们将了解 Java Locale类并给出其使用示例。

什么是语言环境

当您安装 Microsoft Windows 操作系统时,系统会询问您所在的国家/地区和语言。事实上,这样的时刻与Locale的使用有关。可以说,您创建了一个Locale类的对象,指定国家和语言。这将调出其他相关设置,例如显示日期和时间。Java 虚拟机从操作系统中提取区域设置。但是,如果有必要,可以使用特殊方法更改 Java 中的默认区域设置。

创建 Java Locale 类的对象

对于某些国家/地区,区域设置是使用常量设置的,例如:
Locale.US
Locale.UK
对于所有其他国家/地区,必须使用构造函数创建Locale类 的对象,例如:
Locale ukr = new Locale("ukr", "UA");
有一个Locale.ROOT常量。区域设置根代表语言和国家/地区等于空字符串 ("") 的区域设置。此区域设置是所有其他区域设置的基本区域设置。用于编写与区域设置无关的应用程序。让我们举一个小例子。
import java.util.Locale;

public class LocaleExample1 {

   public static void main(String[] args) {
       var uk = Locale.UK;
       System.out.println(uk);
       Locale ua = new Locale("ukr", "UA");
       System.out.println(ua);
          }

   }
这是输出:
en_GB ukr_UA

区域设置类方法。如何确定或更改当前区域设置

Java中Locale类有很多方法。您可以从Javadoc 学习它们。在这里我们只瞥见其中的一些。您可以使用Locale.getDefault()方法确定当前区域设置:
Locale current = Locale.getDefault();
您可以使用setDefault() 方法更改 JVM 当前实例的当前区域设置:
Locale.setDefault(Locale.CANADA);
方法String getCountry()返回此语言环境的国家或地区代码。它可以是空字符串(大写 ISO 3166 2 字母代码)或 UN M.49 3 数字代码。 String getDisplayCountry()返回适合向用户显示的区域设置国家/地区的名称。 String getDisplayCountry(Locale inLocale)返回适合向用户显示的区域设置国家/地区的名称。 String getDisplayLanguage()返回适合向用户显示的区域设置语言的名称。 String getDisplayLanguage(Locale inLocale)返回适合向用户显示的区域设置语言的名称。 String getLanguage()返回Locale的语言代码。

区域设置类示例

import java.util.Locale;
//Locale Example
public class LocaleExample1 {

   public static void main(String[] args) {
       var uk = Locale.UK;
       System.out.println(uk);
       Locale ua = new Locale("ukr", "UA");
       System.out.println(ua);
       Locale.setDefault(Locale.CANADA);
       Locale current = Locale.getDefault();

       getLocaleInfo(current);
       getLocaleInfo(ua);
       getLocaleInfo(uk);
   }

   private static void getLocaleInfo(Locale current) {
       System.out.println("Country code: " + current.getCountry());
       System.out.println("Name of the Country: " + current.getDisplayCountry());
       System.out.println("Language Code: " + current.getLanguage());
       System.out.println("Language Name: "
               + current.getDisplayLanguage());
       System.out.println();
   }
}
这是输出:
en_GB ukr_UA 区域代码:CA 国家/地区名称:加拿大 语言代码:en 语言名称:英语 区域代码:UA 国家/地区名称:乌克兰 语言代码:ukr 语言名称:乌克兰语
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION