Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger. 
Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Imperative Sprachkonzepte
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Eigene Klassen schreiben
6 Objektorientierte Beziehungsfragen
7 Ausnahmen müssen sein
8 Äußere.innere Klassen
9 Besondere Typen der Java SE
10 Generics<T>
11 Lambda-Ausdrücke und funktionale Programmierung
12 Architektur, Design und angewandte Objektorientierung
13 Komponenten, JavaBeans und Module
14 Die Klassenbibliothek
15 Einführung in die nebenläufige Programmierung
16 Einführung in Datenstrukturen und Algorithmen
17 Einführung in grafische Oberflächen
18 Einführung in Dateien und Datenströme
19 Einführung ins Datenbankmanagement mit JDBC
20 Einführung in <XML>
21 Testen mit JUnit
22 Bits und Bytes und Mathematisches
23 Die Werkzeuge des JDK
A Java SE-Paketübersicht
Stichwortverzeichnis


Download:

- Beispielprogramme, ca. 35,4 MB


Buch bestellen
Ihre Meinung?



Spacer
<< zurück
Java ist auch eine Insel von Christian Ullenboom

Einführung, Ausbildung, Praxis
Buch: Java ist auch eine Insel


Java ist auch eine Insel

Pfeil 14 Die Klassenbibliothek
Pfeil 14.1 Die Java-Klassenphilosophie
Pfeil 14.1.1 Übersicht über die Pakete der Standardbibliothek
Pfeil 14.1.2 Compact-Profile
Pfeil 14.2 Sprachen der Länder
Pfeil 14.2.1 Sprachen und Regionen über Locale-Objekte
Pfeil 14.3 Die Klasse Date
Pfeil 14.3.1 Objekte erzeugen und Methoden nutzen
Pfeil 14.3.2 Date-Objekte sind nicht immutable
Pfeil 14.4 Calendar und GregorianCalendar
Pfeil 14.4.1 Die abstrakte Klasse Calendar
Pfeil 14.4.2 Calendar nach Date und Millisekunden fragen
Pfeil 14.4.3 Abfragen und Setzen von Datumselementen über Feldbezeichner
Pfeil 14.4.4 Kalender-Exemplare bauen über den Calendar.Builder
Pfeil 14.4.5 Der gregorianische Kalender
Pfeil 14.4.6 Date-Time-API
Pfeil 14.4.7 Menschenzeit und Maschinenzeit
Pfeil 14.5 Die Utility-Klasse System und Properties
Pfeil 14.5.1 Systemeigenschaften der Java-Umgebung
Pfeil 14.5.2 Zeilenumbruchzeichen, line.separator
Pfeil 14.5.3 Eigene Properties von der Konsole aus setzen *
Pfeil 14.5.4 Umgebungsvariablen des Betriebssystems *
Pfeil 14.5.5 Einfache Zeitmessung und Profiling *
Pfeil 14.6 Einfache Benutzereingaben
Pfeil 14.6.1 Grafischer Eingabedialog über JOptionPane
Pfeil 14.6.2 Geschützte Passwort-Eingaben mit der Klasse Console *
Pfeil 14.7 Benutzereinstellungen *
Pfeil 14.7.1 Benutzereinstellungen mit der Preferences-API
Pfeil 14.7.2 Einträge einfügen, auslesen und löschen
Pfeil 14.7.3 Auslesen der Daten und Schreiben in einem anderen Format
Pfeil 14.7.4 Auf Ereignisse horchen
Pfeil 14.7.5 Zugriff auf die gesamte Windows-Registry
Pfeil 14.8 Zum Weiterlesen
 

Zum Seitenanfang

14.2Sprachen 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

14.2.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, die etwa den ISO-639-Code des Landes preisgeben.

[zB]Beispiel

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

Listing 14.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 Array 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 beziehungsweise einer Region und Variante erzeugt. Die Locale-Klasse bietet drei Möglichkeiten zum Aufbau der Objekte:

  • den Locale-Konstruktor

  • Die innere Klasse Builder von Locale. Sie 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 Sprach-Objekt 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 anders 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[ 221 ](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[ 222 ](https://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste) (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 Filter-Methoden die Javadoc studieren.[ 223 ](Auf Englisch beschreibt das Java-Tutorial von Oracle die Erweiterungen unter http://docs.oracle.com/javase/tutorial/i18n/locale/index.html. )

 


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück

 

 


Copyright © Rheinwerk Verlag GmbH 2017

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.

 

[Rheinwerk Computing]



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