Esempio
Categoria
Globalizzazione : Gestione impostazioni internazionali

Nome
Evitare di utilizzare le impostazioni internazionali come valori letterali di stringa

Spiegazione
I nome delle impostazioni internazionali in Java non sono fissi e potrebbero subire delle modifiche in futuro. Ciononostante, ciascuna impostazione internazionale è rappresentata da un oggetto Locale unico compatibile con le versioni precedenti. Usare l'oggetto Locale invece della stringa con il nome dell'impostazione internazionale.

Soluzione
Usare l'oggetto Locale come parametro nei metodi locale-sensitive.

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

private static void processEnglishString(String str) {
// elabora la stringa secondo le impostazioni internazionali US
}

private static void processChineseString(String str) {
// elabora la stringa secondo le impostazioni internazionali cinesi
}
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 );
}
}