Esempio
Categoria
Globalizzazione: Gestione impostazioni internazionali

Nome
Non utilizzare nomi locali come valori letterali stringa

Spiegazione
I nomi delle impostazioni internazionali in Java non sono fissi e possono essere modificati in futuro. Tuttavia, ciascuna impostazione internazionale è rappresentata da un unico oggetto Locale che sarà compatibile con le versioni precedenti. Utilizzare l'oggetto Locale invece della stringa con il nome dell'impostazione internazionale.

Soluzione
Utilizzare l'oggetto Locale come parametro nei metodi con impostazioni internazionali.

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

private static void processEnglishString(String str) {
// elaborazione stringa con impostazioni internazionali US
}

private static void processChineseString(String str) {
// elaborazione stringa con impostazioni internazionali 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 );
}
}