2014-02-18 8 views
5

ich den folgenden Code haben aktuelle localeJava Locale Fall Empfindlichkeit

System.out.println(Locale.getDefault()); 
System.out.println(new Locale("en_US")); 

Die oben gibt Ausgabe angezeigt werden wie folgt

en_US 
en_us 

Wie kann ich eine Locale Instanz konstruieren, die en_US gibt?

EDIT

Ich frage das, weil meine Ressourcen, die Messages_en_US.properties ist ignoriert wird, wenn ich versuche, es als Standard-Locale zu setzen, wenn eine Ausnahme während

ResourceBundle.getBundle("Messages", new Locale("en_US")); 
+2

Wollen Sie ein _neue_ '' en_US' Locale' Objekt oder Java '' en_US' Locale'? –

+0

Sehen Sie meine bearbeitete Frage, ich hoffe, es verdeutlicht. – abiieez

+0

Haben Sie versucht, Locale.US ?? – aNish

Antwort

9
new Locale("en_US") 

a auftritt, ist Gebietsschema, dessen Sprachcode "en_us" lautet.

new Locale("en", "US") 

ist ein locale Code, dessen Sprache "en" und Ländercode, dessen "US".

Die javadoc sagt der Single-Argument Konstruktor:

Locale

public Locale(String language) 

ein Gebietsschema aus einem Sprachcode konstruieren. Dieser Konstruktor normalisiert den Sprachwert in Kleinbuchstaben.