„Reflection“ ist ein leistungsfähiges Tool, mit dem man eine Menge Zeit und Aufwand sparen kann. Eine Möglichkeit ist die Verwendung eines BeanComparators.
BeanComparators sind generische Comparatoren, die jede Java Bean bearbeiten können. Mit einem guten Bean Reflection System als Grundlage können Beans über Bean-Eigenschaften, Arrays, Collections und Maps bearbeitet werden.
Wenn wir eine java.util.List aus Java Beans vom Typ Person haben, wobei Person eine Altersangabe (als Integer), ein Name (als String) und ein Land (als Country-Bean, das wiederum einen Namen als String hat) zugeordnet ist, können wir diese Liste mit einem BeanComparator ganz nach Belieben sortieren.
Hier einige Beispiele:
Man muss also keinen speziellen PersonComparator mit unzähligen Eigenschaftenoptionen schreiben, nach denen man sortieren will. Stattdessen kümmert sich eine einzige BeanComparator-Klasse um alle notwendigen Details.
Die zugrunde liegende Reflection-API ist für all diese Vorgänge verantwortlich. Listing A ist ein Beispiel für einen einfachen BeanComparator, der auf dem Jakarta CommonsBeanUtils-Projekt aufbaut.
Die Behandlung von Ausnahmen (exceptions) ist in diesem Beispiel vereinfacht worden, und es wird angenommen, dass die zu vergleichende Bean-Eigenschaft Comparable mithilfe des ComparableComparator im Jakarta Commons Collections-Projekt implementiert.
Neueste Kommentare
Noch keine Kommentare zu Java-Tipps zur Listen-Iteration und zum Vergleichen von Beans
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.