Java-Tutorials. Vor langer Zeit mal von mir angekündigt. Dann kam zu diesem Thema wieder nichts. Habe mir bisher einfach nicht die Zeit nehmen können, mir etwas zu überlegen, was gut in diese Rubrik passen könnte. Heute möchte ich aber zumindest mit einem sehr kleinen und recht simplen Beitrag beginnen, und wer weiß, vielleicht geht es danach ja sogar weiter. Je nachdem.

Kürzlich stand ich vor einem kleinen Problem, als ich in der Situation war, Daten über Lizenzen aus einem SAP-System auszulesen. Die Information lag in Form einer Tabelle als Vector<Vector<String>> vor. Aus diesem habe ich die benötigten Spalten in zwei String-Arrays rausgeschrieben: Lizenzkennzeichnung und das Gültigkeitsdatum. Diese Einträge sollten dann nach der Datums-Spalte sortiert werden. In diesem Augenblick fiel mir auf, dass ich keine spontane Idee hatte, wie ich zwei Arrays in Abhängigkeit voneinander sortieren sollte, also zwei Spalten gleichzeitig.

Eine Lösung des Problems ist mir dann aber nach kurzem Grübeln eingefallen: Eine passende Datenstruktur musste her, die ihre eigenen Sortierkriterien mitbringt:

Anschließend wollte ich einfach ein Array dieser Datenstruktur erzeugen und auf diesem toString() aufrufen, damit dann rekursiv alle toString()-Methoden seiner Elemente aufgerufen werden. Ach wie doof. So funktioniert das ja gar nicht. Kurzerhand habe ich mir also etwas ausgedacht, das toString() überschreibt, wie ich das gerne hätte:

Ich bin mir zwar relativ sicher, dass hier einige Java-Profis und Design-Pattern-Götter die Hände über dem Kopf zusammenschlagen werden, aber ich glaube ganz so unbrauchbar ist das eigentlich nicht. Und fragt mich schon gar nicht wieso ich da eine anonyme Klasse genommen habe. Vielleicht war ich einfach in der Stimmung dafür. Ich hoffe der Code ist selbsterklärend genug. Das meiste ist sowieso zu speziell, wichtig ist allein die Struktur.