Beispiel
Kategorie
Globalisierung: Handhabung von Locales

Name
Vermeiden Sie die Verwendung von Localenamen als Zeichenfolgeliterale

Erläuterung
Die Namen von Locales in Java sind nicht festgesetzt und können sich in Zukunft ändern. Jedes Locale wird jedoch von einem eindeutigen Locale-Objekt repräsentiert, welches abwärtskompatibel sein wird. Verwenden Sie das Locale-Objekt an Stelle der Zeichenfolge mit dem Localenamen.

Lösung
Verwenden Sie das Locale-Objekt als Parameter in Methoden mit Unterstützung für Locales.

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

private static void processEnglishString(String str) {
// Zeichenfolge in US-Locale verarbeiten
}

private static void processChineseString(String str) {
// Zeichenfolge in CHINESISCHEM Locale verarbeiten
}
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 );
}
}