Пример
Категория
Глобализация: Обработка локалей

Имя
Не используйте имена локалей в строках

Объяснение
Имена локалей не фиксированы и в будущем могут быть изменены. Каждая локаль представлена уникальным объектом Locale, который обеспечивает обратную совместимость. Вместо строк с именами локалей рекомендуется использовать объекты Locale.

Решение
В качестве параметра в методах с поддержкой разных локалей следует использовать объект Locale.

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

private static void processEnglishString(String str) {
// обработка строки в локали Английская (США)
}

private static void processChineseString(String str) {
// обработка строки в локали Китайская
}
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 );
}
}