天天看點

更新項目,使其“走向國際” | 帶你學《Java語言進階特性》之二十七

上一篇:借助regex包完成正則進階操作 | 帶你學《Java語言進階特性》之二十六

程式員的江湖從來不是一個人的江湖,我們開發的程式總有走出國際的時候,但我們不可能面對同樣的核心業務去開發多個項目。本節将為你介紹程式國際化的概念。

【本節目标】

通過閱讀本節内容,你将了解到關于程式國際化過程中可能會遇到的問題,并通過對使用Locale類完成國家區域的語言編碼設定功能的相關學習初步了解程式國際化的基本思路。

所謂的國際化的程式指的是同一個程式代碼可以根據不同的國家實作不同的語言描述,但是程式處理的核心業務是相同的。

國際化問題簡介

現在假設有一款世界都認可的企業管理平台,那麼這個企業的老闆決定将這款産品推廣到全世界各個大型上市公司,這些公司可以來自于不同的國家:中國、美國、德國...,那麼在這樣的情況下,首先要考慮的問題是什麼呢?

更新項目,使其“走向國際” | 帶你學《Java語言進階特性》之二十七

國際化

通過分析之後可以發現,如果要想實作國際化的程式開發,那麼要解決的問題就在于以下兩點:

  • 如何可以定義儲存文字的檔案資訊;
  • 如何可以根據不同的區域語言的編碼讀取指定的資源資訊;

Locale類

如果要想實作國際化,那麼首先需要解決的就是不同國家使用者的區域和語言編碼問題,而在java.util包中提供有一個專門描述區域和語言編碼的類:Locale,而後主要可以使用Locale類中的兩個構造方法進行執行個體化:

  • 構造方法:public Locale(String language);
  • 構造方法:public Locale(String language, String country);

此時需要的是國家和語言的代碼,而中文的代碼:zh_CN、美國英語的代碼:en_US。對于這些區域和語言的編碼,最簡單的獲得方式就是通過IE浏覽器完成。

更新項目,使其“走向國際” | 帶你學《Java語言進階特性》之二十七
更新項目,使其“走向國際” | 帶你學《Java語言進階特性》之二十七

IE浏覽器獲得區域和語言編碼

範例:執行個體化Locale類對象

import java.util.Locale;
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        Locale loc=new Locale("zh","CN");   //中文環境
        System.out.println(loc);   //zh_CN
    }
}           

如果說現在想要自動獲得目前的運作環境,那麼現在就可以利用Locale類本身預設的方式進行執行個體化:

讀取本地預設環境:public static Locale getDefault();

import java.util.Locale;
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        Locale loc = Locale.getDefault();  //擷取預設環境
        System.out.println(loc);  //zh_CN
    }
}           

在實際的開發過程之中,很多人可能并不關心國家和語言的編碼,是以為了簡化開發,Locale類也将世界上一些比較著名的國家的編碼設定為常量。

import java.util.Locale;
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        Locale loc = Locale.CHINA;  //中文環境
        System.out.println(loc);
    }
}           

使用常量的優勢在于可以避免一些區域編碼資訊的繁瑣。

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。

本内容視訊來源于

阿裡雲大學 下一篇:使用ResourceBundle實作資源的統一調配 | 帶你學《Java語言進階特性》之二十八 更多Java面向對象程式設計文章檢視此處