Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.
 
Inhaltsverzeichnis
Vorwort
1 Neues in Java 8 und Java 7
2 Fortgeschrittene String-Verarbeitung
3 Threads und nebenläufige Programmierung
4 Datenstrukturen und Algorithmen
5 Raum und Zeit
6 Dateien, Verzeichnisse und Dateizugriffe
7 Datenströme
8 Die eXtensible Markup Language (XML)
9 Dateiformate
10 Grafische Oberflächen mit Swing
11 Grafikprogrammierung
12 JavaFX
13 Netzwerkprogrammierung
14 Verteilte Programmierung mit RMI
15 RESTful und SOAP-Web-Services
16 Technologien für die Infrastruktur
17 Typen, Reflection und Annotationen
18 Dynamische Übersetzung und Skriptsprachen
19 Logging und Monitoring
20 Sicherheitskonzepte
21 Datenbankmanagement mit JDBC
22 Java Native Interface (JNI)
23 Dienstprogramme für die Java-Umgebung
Stichwortverzeichnis

Jetzt Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Java SE 8 Standard-Bibliothek von Christian Ullenboom
Das Handbuch für Java-Entwickler
Buch: Java SE 8 Standard-Bibliothek

Java SE 8 Standard-Bibliothek
Pfeil 5 Raum und Zeit
Pfeil 5.1 Weltzeit *
Pfeil 5.2 Wichtige Datum-Klassen im Überblick
Pfeil 5.2.1 Der 1.1.1970
Pfeil 5.2.2 System.currentTimeMillis()
Pfeil 5.2.3 Einfache Zeitumrechnungen durch TimeUnit
Pfeil 5.3 Sprachen der Länder
Pfeil 5.3.1 Sprachen und Regionen über Locale-Objekte
Pfeil 5.4 Internationalisierung und Lokalisierung
Pfeil 5.4.1 ResourceBundle-Objekte und Ressource-Dateien
Pfeil 5.4.2 Ressource-Dateien zur Lokalisierung
Pfeil 5.4.3 Die Klasse ResourceBundle
Pfeil 5.4.4 Ladestrategie für ResourceBundle-Objekte
Pfeil 5.4.5 Ladeprozess und Format anpassen *
Pfeil 5.5 Die Klasse Date
Pfeil 5.5.1 Objekte erzeugen und Methoden nutzen
Pfeil 5.5.2 Date-Objekte sind nicht immutable
Pfeil 5.6 Calendar und GregorianCalendar
Pfeil 5.6.1 Die abstrakte Klasse Calendar
Pfeil 5.6.2 Calendar nach Date und Millisekunden fragen
Pfeil 5.6.3 Abfragen und Setzen von Datumselementen über Feldbezeichner
Pfeil 5.6.4 Kalender-Typen *
Pfeil 5.6.5 Kalender-Exemplare bauen über den Calendar.Builder
Pfeil 5.6.6 Wie viele Tage hat der Monat, oder wie viele Monate hat ein Jahr? *
Pfeil 5.6.7 Wann beginnt die Woche und wann die erste Woche im Jahr? *
Pfeil 5.6.8 Der gregorianische Kalender
Pfeil 5.7 Zeitzonen in Java *
Pfeil 5.7.1 Zeitzonen durch die Klasse TimeZone repräsentieren
Pfeil 5.7.2 SimpleTimeZone
Pfeil 5.7.3 Methoden von TimeZone
Pfeil 5.9 Formatieren und Parsen von Datumsangaben
Pfeil 5.9.1 Ausgaben mit printf(…)
Pfeil 5.9.2 Ausgaben mit Calendar-Methoden getDisplayName(…) *
Pfeil 5.9.3 Mit DateFormat und SimpleDateFormat formatieren
Pfeil 5.9.4 Parsen von Datumswerten
Pfeil 5.10 Date-Time-API in Java 8
Pfeil 5.10.1 Datumsklasse LocalDate
Pfeil 5.10.2 Ostertage *
Pfeil 5.10.3 Die Klasse YearMonth
Pfeil 5.10.4 Die Klasse MonthDay
Pfeil 5.10.5 Aufzählung DayOfWeek und Month
Pfeil 5.10.6 Klasse LocalTime
Pfeil 5.10.7 Klasse LocalDateTime
Pfeil 5.10.8 Klasse Year
Pfeil 5.10.9 Zeitzonen-Klassen ZoneId und ZoneOffset
Pfeil 5.10.10 Temporale Klassen mit Zeitzoneninformationen
Pfeil 5.10.11 Klassen Period und Duration
Pfeil 5.10.12 Klasse Instant
Pfeil 5.10.13 Parsen und Formatieren von Datumszeitwerten
Pfeil 5.10.14 Das Paket java.time.temporal *
Pfeil 5.10.15 Konvertierungen zwischen der klassischen API und Date-Time-API
Pfeil 5.11 Die Default-Falle
Pfeil 5.12 Zum Weiterlesen
 
Zum Seitenanfang

5.3Sprachen der Länder Zur vorigen ÜberschriftZur nächsten Überschrift

Programme der ersten Generation konnten nur mit fest verdrahteten Landessprachen und landesüblichen Bezeichnungen umgehen. Daraus ergaben sich natürlich vielfältige Probleme. Mehrsprachige Programme mussten aufwändig entwickelt werden, damit sie unter mehreren Sprachen lokalisierte Ausgaben lieferten. (Es ergaben sich bereits Probleme durch unterschiedliche Zeichenkodierungen. Dies umging aber der Unicode-Standard.) Es blieb das Problem, dass sprachabhängige Zeichenketten, wie alle anderen Zeichenketten auch, überall im Programmtext verteilt sind und eine nachträgliche Sprachanpassung nur aufwändig zu erreichen ist. Java bietet hier eine Lösung an: zum einen durch die Definition einer Sprache und damit durch automatische Formatierungen und zum anderen durch die Möglichkeit, sprachenabhängige Teile in Ressourcen-Dateien auszulagern.

 
Zum Seitenanfang

5.3.1Sprachen und Regionen über Locale-Objekte Zur vorigen ÜberschriftZur nächsten Überschrift

In Java repräsentieren Locale-Objekte geografische, politische oder kulturelle Regionen. Die Sprache und die Region müssen getrennt werden, denn nicht immer gibt eine Region oder ein Land die Sprache eindeutig vor. Für Kanada in der Umgebung von Quebec ist die französische Ausgabe relevant, und die unterscheidet sich von der englischen. Jede dieser sprachspezifischen Eigenschaften ist in einem speziellen Objekt gekapselt. Locale-Objekte werden dann etwa einem Scanner oder printf(…) übergeben.

Konstanten für einige Länder und Sprachen

Die Locale-Klasse besitzt Konstanten für häufig auftretende Länder und Sprachen. Unter den Konstanten für Länder und Sprachen sind: CANADA, CANADA_FRENCH, CHINA ist gleich CHINESE (und auch PRC bzw. SIMPLIFIED_CHINESE), ENGLISH, FRANCE, FRENCH, GERMAN, GERMANY, ITALIAN, ITALY, JAPAN, JAPANESE, KOREA, KOREAN, TAIWAN (ist gleich TRADITIONAL_CHINESE), UK und US.

Methoden von Locale

Locale-Objekte bieten eine Reihe von Methoden an, um etwa den ISO-639-Code des Landes preiszugeben.

[zB]Beispiel

Gib für Deutschland zugängliche Informationen aus. Das Objekt out aus System und GERMANY aus Locale sind statisch importiert:

Listing 5.1com/tutego/insel/locale/GermanyLocal.java, main()

out.println( GERMANY.getCountry() ); // DE
out.println( GERMANY.getLanguage() ); // de
out.println( GERMANY.getVariant() ); //
out.println( GERMANY.getDisplayCountry() ); // Deutschland
out.println( GERMANY.getDisplayLanguage() ); // Deutsch
out.println( GERMANY.getDisplayName() ); // Deutsch (Deutschland)
out.println( GERMANY.getDisplayVariant() ); //
out.println( GERMANY.getISO3Country() ); // DEU
out.println( GERMANY.getISO3Language() ); // deu
final class java.util.Locale
implements Cloneable, Serializable
  • String getCountry()
    Liefert das Länderkürzel nach dem ISO-3166-zwei-Buchstaben-Code.

  • String getLanguage()
    Liefert das Kürzel der Sprache im ISO-639-Code.

  • String getVariant()
    Liefert das Kürzel der Variante.

  • final String getDisplayCountry()
    Liefert ein Kürzel des Landes für Bildschirmausgaben.

  • final String getDisplayLanguage()
    Liefert ein Kürzel der Sprache für Bildschirmausgaben.

  • final String getDisplayName()
    Liefert den Namen der Einstellungen.

  • final String getDisplayVariant()
    Liefert den Namen der Variante.

  • String getISO3Country()
    Liefert die ISO-Abkürzung des Landes dieser Einstellungen und löst eine MissingResourceException aus, wenn die ISO-Abkürzung nicht verfügbar ist.

  • String getISO3Language()
    Liefert die ISO-Abkürzung der Sprache dieser Einstellungen und löst eine MissingResourceException aus, wenn die ISO-Abkürzung nicht verfügbar ist.

  • static Locale[] getAvailableLocales()
    Liefert eine Aufzählung aller installierten Locale-Objekte. Das Feld enthält mindestens Locale.US und 160 Einträge.

Locale-Objekte aufbauen

Locale-Objekte werden immer mit dem Namen der Sprache und optional mit dem Namen des Landes bzw. einer Region und Variante erzeugt. Die Locale-Klasse bietet drei Möglichkeiten zum Aufbau der Objekte:

  • Locale-Konstruktor

  • Die innere Klasse Builder von Locale nutzt das Builder-Pattern zum Aufbau neuer Locale-Objekte.

  • über die Locale-Methode forLanguageTag(…) und eine String-Kennung

[zB]Beispiel

Im Konstruktor der Klasse Locale werden Länderabkürzungen angegeben, etwa für ein Sprachobjekt für Großbritannien oder Frankreich:

Locale greatBritain = new Locale( "en", "GB" );
Locale french = new Locale( "fr" );

Hinter der Abkürzung Locale.UK steht nichts anderes als die Initialisierung mit new Locale("en", "GB"). Im zweiten Beispiel ist uns das Land egal. Wir haben einfach nur die Sprache Französisch ausgewählt, egal in welchem Teil der Welt.

Die Sprachen sind durch Zwei-Buchstaben-Kürzel aus dem ISO-639-Code[ 61 ](http://www.loc.gov/standards/iso639-2/php/code_list.php) (ISO Language Code) identifiziert, und die Ländernamen sind Zwei-Buchstaben-Kürzel, die in ISO 3166[ 62 ](http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/index.html) (ISO Country Code) beschrieben sind.

[zB]Beispiel

Drei Varianten zum Aufbau der Locale.JAPANESE:

Locale loc1 = new Locale( "ja" );
Locale loc2 = new Locale.Builder().setLanguage( "ja" ).build();
Locale loc3 = Locale.forLanguageTag( "ja" );
final class java.util.Locale
implements Cloneable, Serializable
  • Locale(String language)
    Erzeugt ein neues Locale-Objekt für die Sprache (language), die nach dem ISO-693-Standard gegeben ist.

  • Locale(String language, String country)
    Erzeugt ein Locale-Objekt für eine Sprache (language) nach ISO 693 und ein Land (country) nach dem ISO-3166-Standard.

  • public Locale(String language, String country, String variant)
    Erzeugt ein Locale-Objekt für eine Sprache, ein Land und eine Variante. variant ist eine herstellerabhängige Angabe wie »WIN« oder »MAC«.

Die statische Methode Locale.getDefault() liefert die aktuell eingestellte Sprache. Für die laufende JVM kann Locale.setDefault(Locale) diese ändern.

Unter Java 7 und Java 8 hat die Klasse Locale an Gewicht zugelegt; Entwickler sollten für den Builder, für forLanguageTag(…) und die neuen Erweiterungen und Filtermethoden die Javadoc studieren.[ 63 ](Auf Englisch beschreibt das Java-Tutorial von Oracle die Erweiterungen unter http://docs.oracle.com/javase/tutorial/i18n/locale/index.html.)

 


Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Java SE 8 Standard-Bibliothek Java SE 8 Standard-Bibliothek
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: Java ist auch eine Insel
Java ist auch eine Insel


Zum Rheinwerk-Shop: Professionell entwickeln mit Java EE 8
Professionell entwickeln mit Java EE 8


Zum Rheinwerk-Shop: Besser coden
Besser coden


Zum Rheinwerk-Shop: Entwurfsmuster
Entwurfsmuster


Zum Rheinwerk-Shop: IT-Projektmanagement
IT-Projektmanagement


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2018
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern