Sortieren in JavaKürzlich hatte ich in einem Projekt ein Problem mit der Sortierung von Strings in Java. Ich sollte eine Liste von Objekte für die Erstellung eines PDF Dokumentes nach einem String sortieren. Diese Liste wurde schon an einer anderen Stelle von einer Third-Party-Lib sortiert und in HTML ausgegeben. Somit hatte ich eine Referenz für die Verifizierung meiner Lösung. Also schnell einen Comparator geschrieben Beispiel mit String Objekten
Collections.sort(liste, new Comparator<String>() {
AB C und dann Verwunderung. Das Ergebnis war nicht identisch mit dem der Third-Party-Library. Das erwartete Ergebnis sollte so aussehen. ABC
Nach der ersten Verwunderung war mir die Sache schnell klar. Ich mußte natürlich sprachabhängig sortieren. Die dazugehörende Klasse aus dem JDK heißt java.text.Collator. Also schnell die Implementierung geändert und ausprobiert.
Beispiel mit String Objekten Das Ergebnis war identisch. Interessehalber habe ich noch im Source Code der Third-Party-Library nachgeschaut wie das Handling von verschiedenen Locale-Einstellung implementiert ist. Eigentlich eine Selbstverständlichkeit das man in Abhängigkeit der Sprache sortiert, aber wie oft wird, vielleicht auch bei ihnen, nur die String compare-Methode verwendet. | Willkommen auf dem avono BlogHier auf dem avono Blog finden Sie in regelmäßigen Abständen sowohl technische Neuigkeiten aus unserer Partnerproduktwelt als auch nützliche Entwicklertipps.Und jetzt kommt der obligatorische Disclaimer: Die Ausführungen der Blogeinträge spiegeln nicht die Meinung der avono AG sondern nur die Sicht der einzelnen Autoren wider. Weitere Blogbeiträge JIRA5 – Statusprüfung abgegebener Aufgaben
am 30. April 2012 FishEye als Git Repository Manager
am 12. April 2012 Unite - Erste europäische Atlassian Anwenderkonferenz
am 11. April 2012 So macht Groovy Scripting in JIRA mehr Spaß
am 22. Dezember 2011 Mens sana in corpore sano
am 15. August 2011 |
