Příklad
Kategorie
Globalizace: Zacházení s místním nastavením

Jméno
Vyvarujte se použití jmen místního nastavení jako řetězcových literálů

Vysvětlení
Jména místního nastavení v Javě nejsou pevná a lze je v budoucnu změnit. Avšak, každé místní nastavení je představováno jedinečným objektem Místní nastavení, který bude zpětně kompatibilní. Použijte objekt Místní nastavení místo řetězce se jménem místního nastavení.

Řešení
Použijte objekt Locale jako parametr pro metody, které jsou citlivé na místní nastavení.

public static final String CHINESE_LOCALE_STRING = "CHINESE"; //$NON-NLS-1$

private static void processEnglishString(String str) {
// zpracovat řetězec v místním nastavení US
}

private static void processChineseString(String str) {
// zpracovat řetězec v místním nastavení CHINESE
}
public static void processString(String str, Locale locale){
if (Locale.CHINA.equals(locale)){
processChineseString(str);
}else {
processEnglishString(str);
}
}


public static void main(String[] args) {
String str = "\u4e1c\u897f\u5357\u5317\u4e2d";//$NON-NLS-1$
if ( CHINESE_LOCALE_STRING.equals( args[0] ) ){
processString( str, Locale.CHINA );
}else {
processString( str, Locale.US );
}
}