Java-Tipp 1: Collection-Klassen
Wenn Ihr die Collection-Klassen aus java.util verwendet, beachtet bitte folgendes:
- Vector ist veraltet, bitte ArrayList benutzen, und statt
Hashtable bitte HashMap benutzen
- Überlegt, welche Anforderungen an die math. Mengeneigenschaften von zurückgelieferten Objekten bestehen
- math. Menge: In der Schnittstelle Set übergeben, intern HashSet verwenden
- math. Folge ohne Duplikate mit Reihenfolge: In der Schnittstelle
SortedSet übergeben, intern TreeSet verwenden
- math. Folge, die Duplikate erlaubt: In der Schnittstelle List übergeben, intern ArrayList verwenden.
- ansonsten: In der Schnittstelle Collection übergeben, intern beliebige Implementierung verwenden.
- Verwendet in Schnittstellen nicht etwa TreeSet, ArrayList oder
HashMap, sondern das allgemeinere Interface Set, List, Map oder sogar Collection. Der Grund dafür ist, dass eine Schnittstelle immer besser ist, wenn allgemeine Typen verwendet wurden. Die Implementierung ist dann nicht an eine konkrete Klasse wie ArrayList gebunden und kann leicht geändert werden.
- Collection-Objekte sollen ausschließlich gleichartige Objekte enthalten, also nicht an erster Stelle ein Integer, dann ein String, dann ein Document, File, etc. Falls Ihr sowas vorhabt, ist eigentlich eine eigene Klasse notwendig. Das liegt daran, dass jemand, der eine solche Collection erhält, genau wissen muss, was drin ist, damit die Typecasts funktionieren, die er ja durchführen muss, um an die Inhalte dran zu kommen. Da ist schlechter Programmierstil.
Ausblick
Mit den in Java 1.5 kommenden Generics (ähnlich den C++ Templates) werden
Collections typsicher gemacht und dieses Typecast-Problem endlich behoben. Bis dahin hilft nur die Disziplin. Aber generell wird auch dann noch gelten, dass man in Collections nur gleichartige Objekte ablegt.
Verstöße dagegen können dann bereits zur Compilierzeit erkannt werden.
Sylphen GmbH & Co. KG
Sylphen ist ein IT-Systemhaus mit Niederlassungen in Gießen, Frankfurt und Hamburg und unterstützt Sie
durch Berater und Programmierer bei der effizienten Software-Entwicklung im Bereich
Java, SQL und Integration. Unter 0641-94468-0 oder
info@sylphen.com beraten wir Sie gerne
unverbindlich.
zurück zu Customer-Solutions