世界中に同じコンセントがあれば、数字と日付を書くという原則がもっと簡単になるでしょう。ただし、これはまだ現実ではないため、プログラマはこれを考慮する必要があります。特に、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 get Country() は、このロケールの国または地域コードを返します。空の文字列 (大文字の ISO 3166 2 文字コード) または UN M.49 3 桁コードのいずれかになります。 String getDisplay Country() は、ユーザーへの表示に適したロケールの国名を返します。 String getDisplay Country(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 言語名: ウクライナ語
GO TO FULL VERSION