Dieses Kapitel wird nur einen sehr raschen Überblick über gewisse in der Standard-Bibliothek vorhandenen Klassen geben, die Webreferenzen liegen bei um sich genauer einzulesen. Dieser Überblick ist nur dazu gedacht um ein gewisses Gefühl für die Art von vorhandenen Funktionalitäten zu geben. Allzuoft habe ich festgestellt, daß nach einem Java-Kurs die ex-Schüler fröhlich vor sich hinprogrammieren, ohne sich jemals die Standard-Bibliothek angeschaut zu haben, und dabei sehr oft schon vorhandene Funktionalitäten nach-programmieren, oder unter nicht-Berücksichtigung von vorhandenen Funktionalitäten los-programmieren, und es sich demnach schwer machen diese später einzubauen (siehe Internationalisierung).
Eine der wichtigsten Klassen ist die Klasse java.util.Vector. In der Lösung des Autobahn-Problems wurde schon die Verwendung eines Vector vorgenommen. Um die Anzahl Autos auf der Autobahn darzustellen, wurden die Autos in besagten Vektor gepackt, je nach Situation, können neue Autos reingepackt (addObject) werden, oder Autos wieder entfernt(remove) werden.
Der Vorteil dieser Klasse ist die Tatsache, daß als einzige Vorschrift für die Objekte die in einen Vektor reingesteckt werden können, die Tatsache ist, daß die Mutterklasse java.lang.Object sein muß (was die meisten Basisklassen ausschließt, diese müssen über Hilfsklassen (z.B. Boolean) eingebunden werden). Es braucht keine Energie auf die Verwaltung des Vektors selber aufgebracht werden, da dieser sich automatisch an die gebrauchte Größe anpaßt.
Dafür ist die Klasse java.util.StringTokenizer geeignet.
String einZeile = aus-der-datei-gelesen;
StringTokenizer st = new StringTokenizer(einZeile,":");
while (st.hasMoreTokens())
{
println(st.nextToken());
}
Man kann Einstellungen in Dateien, Kommandoline-Switches und bei Laufzeit übergebene Präferenzen einheitlich verarbeiten.
Dafür ist die Klasse java.util.Properties geeignet.
Diese Klasse kann selbständig einen Daten-Fluß (z.B. eine Datei) parsen und die gewünschten Daten als Schlüssel-Wert-Paare extrahieren.
Die Daten werden über den Schlüsselnamen, mit der Methode getProperty(String Schlüssel) aus den Properties rausheholt, invers können neue Daten-Paare mit setProperty(String Schlüssel, String Wert) eingesetzt werden.
In Properties werden die Werte als Zeichenketten (String) behandelt, sollen anstelle von Zeichenketten auch generisch Objekte behandelt werden, sollte lieber die Klasse java.util.Hashtable benutzt werden, allerdings verliert man dadurch die Fähigkeit direkt Tabellen aus Dateien zu lesen.
Dafür ist die Klasse java.util.ResourceBundle geeignet.
Diese arbeitet ähnlich wie die Properties-Klasse, indem sie aus Dateien
Schlüssel-Text Paare extrahiert, mit '=' als Trennungszeichen. Der jeweilige
Text kann aus dem Bundle mit der Methode getString("OkKey")
extrahiert werden.
Werden im Programm anstelle von statischen Zeichenketten nur noch diese Art Aufrufe mit den geeigneten Schlüsselnamen eingebaut, ist es trivial die entsprechenden Dateien mit den Überetzungen bereitzustellen.
Document mit wml erzeugt von Bruno Böttcher unter Benutzung von öffentlichen Dokumenten.